23.02.2009, 10:48 | #21 |
Administrator
|
создаем лукапную формочку (frmFieldList), источником которой является Field
в триггере OnLookup() поля таблицы заводим переменную Name DataType Subtype Length varField Record Field пишем: varField.SETRANGE(TableNo,<номер таблицы>); CLEAR(frmFieldList); frmFieldList.LOOKUPMODE(TRUE); frmFieldList.SETTABLEVIEW(varField); IF frmFieldList.RUNMODAL() = ACTION::LookupOK THEN BEGIN frmFieldList.GETRECORD(varField); Text := Field."No."; EXIT(TRUE); END; |
|
24.02.2009, 05:52 | #22 |
Участник
|
Спасибо за совет сделал так
frmFieldList ***Form - OnOpenForm()*** RecR.OPEN(TES); i:=RecR.FIELDCOUNT; j:=1; DELETEALL; IF i<>0 THEN REPEAT FieldR:= RecR.FIELDINDEX(j); id:=j; Field:=FieldR.NAME; INSERT; j+=1; NEXT(1); UNTIL j=i; полностью автоматический lookup просчитывающий и выводящий все поля таблицы TES(передаю из NAVDOC) |
|
03.02.2015, 09:07 | #23 |
Участник
|
А есть кто, кто разбирался с Конвертацией Данных 2.0 в 1С? Как описать входящий xml из нава (ну и вообще произвольной структуры xml), чтобы КД его проглотила и поняла структуру? Пробовал xsd сделать - не прошло.
|
|
03.02.2015, 17:12 | #24 |
Участник
|
Цитата:
как пример кусочек файла: Код: <?xml version="1.0" encoding="utf-8" ?> ... - <SKU> <code>546541</code> <name>SHELL 5W40 XXX XXX XXXXXXX/55</name> <deleted>0</deleted> <article>XXXXX000XXXX</article> <shortname>XXX XXX XXXXXXX/55</shortname> <parentcode>1</parentcode> <SKUType>30</SKUType> <baseunitcode>ШТ</baseunitcode> <weight /> <VATRateCode>XXXXX</VATRateCode> <activunitcode>ШТ</activunitcode> <activunitcodemt>ШТ</activunitcodemt> - <units> - <unit> <code>ШТ</code> <rate>1</rate> <barcode>ШТ</barcode> </unit> </units> - <prices> - <price> <pricetypecode>ОПТ</pricetypecode> <paytypecode>2</paytypecode> <unitcode>ШТ</unitcode> <price>9 999 999,9</price> </price> </prices> </SKU> ...
__________________
Как только вы проиграете, все ваши прошлые победы забудут. |
|
05.02.2015, 15:54 | #25 |
Участник
|
Цитата:
Мой путь таков: Берете конфигурацию, в которую хотите выгружать (Пусть будет для примера БухгалтерияПредприятияКОРП). Выгружаете ее структуру в КД. Создаете новую конвертацию БухгалтерияПредприятияКОРП->БухгалтерияПредприятияКОРП. с помощью встроенного мастера массово создаете Правила Конвертации Объектов - в этом вся фишка. Потом проще их просто редактировать. Редактируете ПравилоКонвертации (например, снятие галки "поиск по внутреннему Идентификатору" и пр, в зависимости от желаемого поведения. Формируете в "Правила Выгрузки Данных" примеры объектов, которые вам необходимо будет загружать. Сохраняете Правила обмена данными на диск. Используете эти правила для ВЫГРУЗКИ из реальной БухгалтерииПредприятияКОРП данных. ВЫГРУЖЕННЫЕ данные являются примером, который необходимо повторить , т.е. выгрузить из Нава в таком именно формате (ну или использовать xslt для трансформации в этот формат). УДАЧИ... Надо понимать, что Ручные операции бухгалтерского и налогового учета КД Не берет (Документ - ОперацияБух), т.к. с точки зрения 1С это прямые записи в РегистрБухгалтерии.Хозрасчетный, где Документ ОперацияБух выступает просто регистратором. Если вам надо загрузить такого рода проводки, то без дополнительного шаманства не обойтись. Если есть под рукой, например, стандартные конфигурации БП 1.6, и 2.0 то можно в качестве примера использовать готовые правила от самой 1С.(прикрепил во вложении). Загрузите правила с помощью пункта "Загрузить Правила Обмена Данными" Если нет, то можно просто использовать как наглядный пример, насколько это Гемморно может быть. Поэтому трижды подумайте, а оно вам надо, именно через КД синхронизироваться?))) Может проще со стороны 1С написать обработку -парсер заранее согласованного формата? |
|
05.02.2015, 17:06 | #26 |
Участник
|
Да я уже подумал и передумал через КД Пробую ВыгрузкойЗагрузкойДанныхЧерезXML. Выгрузил - смотрю XML и повторяю его в NAV через XML DOM. Всё замечательно, только не могу понять, как объявить префикс пространства имен.
|
|
06.02.2015, 10:48 | #27 |
Участник
|
Цитата:
Сообщение от Васыо
Да я уже подумал и передумал через КД /> Пробую ВыгрузкойЗагрузкойДанныхЧерезXML. Выгрузил - смотрю XML и повторяю его в NAV через XML DOM. Всё замечательно, только не могу понять, как объявить префикс пространства имен.
|
|
06.02.2015, 11:41 | #28 |
Участник
|
Цитата:
Сообщение от Васыо
Да я уже подумал и передумал через КД />/> Пробую ВыгрузкойЗагрузкойДанныхЧерезXML. Выгрузил - смотрю XML и повторяю его в NAV через XML DOM. Всё замечательно, только не могу понять, как объявить префикс пространства имен.
Если поэкспериментировать в простейших случаях с загрузкой данных в 1С, то подстраиваться под ВыгрузкуЗагрузкуДанныхЧерезХМЛ можно. Если хотите получить какую-то универсальную выгрузку в 1С без привлечения 1С-ника, и не понимая, как работает 1С изнутри, то я вас уверяю, вы выбрали не тот инструмент - ибо такого инструмента нет. Посмотрите на это вот с какой стороны. Да КД штука сложная. Но с другой стороны - это вещь очень функциональная. Поэтому она сложная. В КД можно управлять загрузкой со стороны 1С. В КД можно управлять форматами входящих документов (до определенного уровня - элементарно). В КД можно писать обработчики событий (да на языке 1С), и это позволяет использовать эту конфигурацию для настройки обмена между самыми разнообразными конфигурациями и их особенностями, которые присущи 1С. ВыгрузкуЗагрузкуДанныхЧерезХМЛ ненастраиваемый инструмент. это по сути просто инструмент запихивания данных напрямую в таблицы 1С. без использования бизнес-логики 1С. Сейчас, вы приняли решение: ради простоты старта (ну да, не надо разбираться во всяких правилах и прочих особенностях, которые присущи 1С, это ведь тоже система, со своими ограничениями и особенностями) использовать не настраиваемый инструмент, жестко завязанный на ПОЛНОЕ!!! соответствие структуре 1С. Это обернется практически нерешаемыми проблемами уже на этапе попытки загрузить справочники. До документов вы просто не доберетесь, поверьте мне. Даже если вы вдруг справитесь с этой задачей.. любое изменение 1С конфигурации (добавят реквизит, например) приведет к полной неработоспособности механизма. Например, номенклатура выгружается/загружается вот в таком формате: Код: <CatalogObject.Номенклатура> <Ref>3193ec3d-1313-11e0-5781-00195b6916e0</Ref> <IsFolder>false</IsFolder> <DeletionMark>false</DeletionMark> <Parent>2dd508db-0621-11dd-ac88-001bfcec12b1</Parent> <Code>03133951</Code> <Description>Фиговина с марковиной</Description> <Артикул/> <НаименованиеПолное>Вот такую фигню я хочу загрузить</НаименованиеПолное> <БазоваяЕдиницаИзмерения>1a1e6657-abaa-11e0-8812-001e5848397d</БазоваяЕдиницаИзмерения> <СтавкаНДС>НДС18</СтавкаНДС> <Комментарий>2</Комментарий> <Услуга>false</Услуга> <НоменклатурнаяГруппа>08dbe93f-8858-11dc-9b0d-00138fc9b85b</НоменклатурнаяГруппа> <СтранаПроисхождения>b82a90d0-1a4c-11dc-9df7-00138fc9b85b</СтранаПроисхождения> <НомерГТД>3193ec3c-1313-11e0-5781-00195b6916e0</НомерГТД> <СтатьяЗатрат>b6e694ba-2fab-11dc-9e0f-00138fc9b85b</СтатьяЗатрат> <ОсновнаяСпецификацияНоменклатуры>00000000-0000-0000-0000-000000000000</ОсновнаяСпецификацияНоменклатуры> <Производитель>00000000-0000-0000-0000-000000000000</Производитель> <Импортер>00000000-0000-0000-0000-000000000000</Импортер> </CatalogObject.Номенклатура> Вы уверены, что сможете хранить все GUID где-то? ибо только GUID может быть использован в механизме. Вот что за страна происхождения b82a90d0-1a4c-11dc-9df7-00138fc9b85b ? а теперь - выгрузите один любой документ из 1С со связями и с движениями по документу)). Это около 300 КИЛОБАЙТ текста, содержащий тучу GUID. Если вы сделаете работающую выгрузку/загрузку данных в этом формате, я вам честно , памятник лично поставлю) Еще раз - у вас два варианта - Разбираться в КД - там нет этого ада в XML, описанного выше, сам КД - ад. Или брать за шкирку 1С-ника, и согласовывать формат выгрузки/загрузки. Я надеюсь, я вам помог) |
|
06.02.2015, 12:58 | #29 |
Участник
|
Kashin, вижу у Вас наболело . Я хочу сделать в 1С такую НДС-базку, чтобы формировать оттуда штатными средствами книги покупок, продаж и новую декларацию по НДС. Выгружать буду контрагентов (уже сделал, всё работает) и формировать по записям НДС книги операций непроведенные документы в суммовом выражении (покупки уже тоже сделал). Для GUIDов сделал по полю в клиентах/поставщиках/банках и два в НДС книге (для документа и фактуры к нему). Формирую GUIDы тоже прямо в наве, по шаблону 00000000-0000-0000-0000-хххххххххххх, где последние 12 цифр это просто серия номеров. Вот как-то так.
p.s. и да, я прекрасно понимаю, что правильнее было бы пригласить человека, который написал бы обработку со стороны 1С, но хочется самому немного поковыряться, ибо в 1С я девственник |
|
06.02.2015, 14:34 | #30 |
Участник
|
да - это, безусловно, больная тема)
Цитата:
Сообщение от Васыо
Я хочу сделать в 1С такую НДС-базку, чтобы формировать оттуда штатными средствами книги покупок, продаж и новую декларацию по НДС. Выгружать буду контрагентов (уже сделал, всё работает) и формировать по записям НДС книги операций непроведенные документы в суммовом выражении (покупки уже тоже сделал). Для GUIDов сделал по полю в клиентах/поставщиках/банках и два в НДС книге (для документа и фактуры к нему). Формирую GUIDы тоже прямо в наве, по шаблону 00000000-0000-0000-0000-хххххххххххх, где последние 12 цифр это просто серия номеров. Вот как-то так.
желание похвальное) поэтому и советую - разберитесь в Конвертации Данных - это проще чем то, чем вы сейчас занимаетесь, пытаясь повторить структуру 1С в NAV. А главное, применимость лучше. И понимание 1С даст больше. |
|
08.02.2015, 12:39 | #31 |
Участник
|
Коллеги,
Есть ли из Вас те, кто победил доменную авторизацию по NTLM для WSопределений и WSссылок из 1С к 2009R2 и выше Стандартными средствами 1С? С уважением.
__________________
--------------------------------------------------------------------------------------------- "Собрать стадо из баранов легко, трудно собрать стадо из кошек" Профессор Сергей Капица |
|
09.02.2015, 13:34 | #32 |
Участник
|
Цитата:
Установлены ли все апдейты на NAV? делегация в NAV настроена верно? что SQL сервер пишет в логах, кто коннектится, Юзер или [NT AUTHORITY\ANONYMOUS]? |
|
09.02.2015, 14:58 | #33 |
Участник
|
[/quote]
не пробовал так подключаться (из 1С к NAV), но перечень вопросов: Установлены ли все апдейты на NAV? делегация в NAV настроена верно? что SQL сервер пишет в логах, кто коннектится, Юзер или [NT AUTHORITY\ANONYMOUS]? [/quote] База 1 С локальная, без сервера приложений и SQL NAV 2009R2: Все настроено (WS под NTLM), прекрасно работает из VS, WSDL читает. Однако при вызове PADE или CU из среды 1С. "Ошибка авторизации" А это пишут на форуме 1С http://forum-mista.pro/topic.php?id=711265
__________________
--------------------------------------------------------------------------------------------- "Собрать стадо из баранов легко, трудно собрать стадо из кошек" Профессор Сергей Капица |
|
09.02.2015, 15:04 | #34 |
Участник
|
Цитата:
Сообщение от captain
А это пишут на форуме 1С http://forum-mista.pro/topic.php?id=711265
Сырая это еще технология, ой сырая. |
|
09.02.2015, 15:13 | #35 |
Участник
|
ну я имел ввиду наоборот, что пишет в логах NAV-SQL) ведь ты же подключаешься к наву из 1С). Доходит ли дело до попытки подключения к SQL с указанными credentials, или затык вообще возникает в другом месте?
|
|
09.02.2015, 16:14 | #36 |
Участник
|
Проблема в header запроса
Это браузер [xml]Authorization: NTLM TlRMTVNTUAABAAAAB7IIoggACAAqAAAAAgACACgAAAAGAbEdAAAAD1pQTkFWSVNFUlY=[/xml] А это 1С User-Agent: 1C+Enterprise/8.3 [xml]Authorization: Basic TkFWSVNFUlZcdmdyaWdvcmlldjpaaGpja2Zka20xOTYz[/xml] [xml]Proxy-Authorization: NTLM TlRMTVNTUAABAAAAt7II4ggACAAqAAAAAgACACgAAAAGAbEdAAAAD1pQTkFWSVNFUlY=[/xml]
__________________
--------------------------------------------------------------------------------------------- "Собрать стадо из баранов легко, трудно собрать стадо из кошек" Профессор Сергей Капица |
|
09.02.2015, 16:50 | #37 |
Участник
|
тады ой.
Обошли как нибудь? через прокси самописное, например? |
|