AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.02.2009, 10:48   #21  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
создаем лукапную формочку (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  
AXbeginer is offline
AXbeginer
Участник
 
20 / 10 (1) +
Регистрация: 01.10.2009
Спасибо за совет сделал так
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  
Васыо is offline
Васыо
Участник
 
316 / 12 (1) ++
Регистрация: 15.11.2006
А есть кто, кто разбирался с Конвертацией Данных 2.0 в 1С? Как описать входящий xml из нава (ну и вообще произвольной структуры xml), чтобы КД его проглотила и поняла структуру? Пробовал xsd сделать - не прошло.
Старый 03.02.2015, 17:12   #24  
zuzka is offline
zuzka
Участник
Аватар для zuzka
 
131 / 10 (1) +
Регистрация: 29.07.2013
Цитата:
Сообщение от Васыо Посмотреть сообщение
А есть кто, кто разбирался с Конвертацией Данных 2.0 в 1С? Как описать входящий xml из нава (ну и вообще произвольной структуры xml), чтобы КД его проглотила и поняла структуру? Пробовал xsd сделать - не прошло.
хм... как раз пилю обмен данными между NAV <-> 1С. без понятия что там в 1С, но мне приходит голый xml, такой же я и выгружаю...
как пример кусочек файла:

Код:
<?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  
artkashin is offline
artkashin
Участник
MCBMSS
 
519 / 18 (2) ++
Регистрация: 06.12.2006
Цитата:
Сообщение от Васыо Посмотреть сообщение
А есть кто, кто разбирался с Конвертацией Данных 2.0 в 1С? Как описать входящий xml из нава (ну и вообще произвольной структуры xml), чтобы КД его проглотила и поняла структуру? Пробовал xsd сделать - не прошло.
проще "притворяться" при выгрузке из Нава сразу в формате, который понимает КД, точнее Универсальный Обмен Данными.
Мой путь таков: Берете конфигурацию, в которую хотите выгружать (Пусть будет для примера БухгалтерияПредприятияКОРП). Выгружаете ее структуру в КД. Создаете новую конвертацию БухгалтерияПредприятияКОРП->БухгалтерияПредприятияКОРП. с помощью встроенного мастера массово создаете Правила Конвертации Объектов - в этом вся фишка. Потом проще их просто редактировать.
Редактируете ПравилоКонвертации (например, снятие галки "поиск по внутреннему Идентификатору" и пр, в зависимости от желаемого поведения.
Формируете в "Правила Выгрузки Данных" примеры объектов, которые вам необходимо будет загружать.
Сохраняете Правила обмена данными на диск. Используете эти правила для ВЫГРУЗКИ из реальной БухгалтерииПредприятияКОРП данных. ВЫГРУЖЕННЫЕ данные являются примером, который необходимо повторить , т.е. выгрузить из Нава в таком именно формате (ну или использовать xslt для трансформации в этот формат).
УДАЧИ...
Надо понимать, что Ручные операции бухгалтерского и налогового учета КД Не берет (Документ - ОперацияБух), т.к. с точки зрения 1С это прямые записи в РегистрБухгалтерии.Хозрасчетный, где Документ ОперацияБух выступает просто регистратором. Если вам надо загрузить такого рода проводки, то без дополнительного шаманства не обойтись.
Если есть под рукой, например, стандартные конфигурации БП 1.6, и 2.0 то можно в качестве примера использовать готовые правила от самой 1С.(прикрепил во вложении). Загрузите правила с помощью пункта "Загрузить Правила Обмена Данными" Если нет, то можно просто использовать как наглядный пример, насколько это Гемморно может быть.
Поэтому трижды подумайте, а оно вам надо, именно через КД синхронизироваться?)))
Может проще со стороны 1С написать обработку -парсер заранее согласованного формата?
Вложения
Тип файла: zip ACC16_20.zip (507.4 Кб, 11 просмотров)
Старый 05.02.2015, 17:06   #26  
Васыо is offline
Васыо
Участник
 
316 / 12 (1) ++
Регистрация: 15.11.2006
Да я уже подумал и передумал через КД Пробую ВыгрузкойЗагрузкойДанныхЧерезXML. Выгрузил - смотрю XML и повторяю его в NAV через XML DOM. Всё замечательно, только не могу понять, как объявить префикс пространства имен.
Старый 06.02.2015, 10:48   #27  
artkashin is offline
artkashin
Участник
MCBMSS
 
519 / 18 (2) ++
Регистрация: 06.12.2006
Цитата:
Сообщение от Васыо Посмотреть сообщение
Да я уже подумал и передумал через КД /> Пробую ВыгрузкойЗагрузкойДанныхЧерезXML. Выгрузил - смотрю XML и повторяю его в NAV через XML DOM. Всё замечательно, только не могу понять, как объявить префикс пространства имен.
не объявляйте префикс средствами XMLDOM. сохраните шаблончик где-то в базе, и сформированный XML добавляйте в конец шаблона, как вариант.
Старый 06.02.2015, 11:41   #28  
artkashin is offline
artkashin
Участник
MCBMSS
 
519 / 18 (2) ++
Регистрация: 06.12.2006
Цитата:
Сообщение от Васыо Посмотреть сообщение
Да я уже подумал и передумал через КД />/> Пробую ВыгрузкойЗагрузкойДанныхЧерез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  
Васыо is offline
Васыо
Участник
 
316 / 12 (1) ++
Регистрация: 15.11.2006
Kashin, вижу у Вас наболело . Я хочу сделать в 1С такую НДС-базку, чтобы формировать оттуда штатными средствами книги покупок, продаж и новую декларацию по НДС. Выгружать буду контрагентов (уже сделал, всё работает) и формировать по записям НДС книги операций непроведенные документы в суммовом выражении (покупки уже тоже сделал). Для GUIDов сделал по полю в клиентах/поставщиках/банках и два в НДС книге (для документа и фактуры к нему). Формирую GUIDы тоже прямо в наве, по шаблону 00000000-0000-0000-0000-хххххххххххх, где последние 12 цифр это просто серия номеров. Вот как-то так.
p.s. и да, я прекрасно понимаю, что правильнее было бы пригласить человека, который написал бы обработку со стороны 1С, но хочется самому немного поковыряться, ибо в 1С я девственник
Старый 06.02.2015, 14:34   #30  
artkashin is offline
artkashin
Участник
MCBMSS
 
519 / 18 (2) ++
Регистрация: 06.12.2006
Цитата:
Сообщение от Васыо Посмотреть сообщение
Kashin, вижу у Вас наболело />.
да - это, безусловно, больная тема)

Цитата:
Сообщение от Васыо Посмотреть сообщение
Я хочу сделать в 1С такую НДС-базку, чтобы формировать оттуда штатными средствами книги покупок, продаж и новую декларацию по НДС. Выгружать буду контрагентов (уже сделал, всё работает) и формировать по записям НДС книги операций непроведенные документы в суммовом выражении (покупки уже тоже сделал). Для GUIDов сделал по полю в клиентах/поставщиках/банках и два в НДС книге (для документа и фактуры к нему). Формирую GUIDы тоже прямо в наве, по шаблону 00000000-0000-0000-0000-хххххххххххх, где последние 12 цифр это просто серия номеров. Вот как-то так.
оригинально)

Цитата:
Сообщение от Васыо Посмотреть сообщение
p.s. и да, я прекрасно понимаю, что правильнее было бы пригласить человека, который написал бы обработку со стороны 1С, но хочется самому немного поковыряться, ибо в 1С я девственник />
желание похвальное) поэтому и советую - разберитесь в Конвертации Данных - это проще чем то, чем вы сейчас занимаетесь, пытаясь повторить структуру 1С в NAV. А главное, применимость лучше. И понимание 1С даст больше.
Старый 08.02.2015, 12:39   #31  
Captain is offline
Captain
Участник
Лучший по профессии 2017
 
300 / 81 (3) ++++
Регистрация: 28.02.2003
Коллеги,

Есть ли из Вас те, кто победил доменную авторизацию по NTLM для WSопределений и WSссылок из 1С к 2009R2 и выше Стандартными средствами 1С?

С уважением.
__________________
---------------------------------------------------------------------------------------------
"Собрать стадо из баранов легко, трудно собрать стадо из кошек" Профессор Сергей Капица
Старый 09.02.2015, 13:34   #32  
artkashin is offline
artkashin
Участник
MCBMSS
 
519 / 18 (2) ++
Регистрация: 06.12.2006
Цитата:
Сообщение от captain Посмотреть сообщение
Коллеги,

Есть ли из Вас те, кто победил доменную авторизацию по NTLM для WSопределений и WSссылок из 1С к 2009R2 и выше Стандартными средствами 1С?

С уважением.
не пробовал так подключаться (из 1С к NAV), но перечень вопросов:

Установлены ли все апдейты на NAV?
делегация в NAV настроена верно?
что SQL сервер пишет в логах, кто коннектится, Юзер или [NT AUTHORITY\ANONYMOUS]?
Старый 09.02.2015, 14:58   #33  
Captain is offline
Captain
Участник
Лучший по профессии 2017
 
300 / 81 (3) ++++
Регистрация: 28.02.2003
[/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  
artkashin is offline
artkashin
Участник
MCBMSS
 
519 / 18 (2) ++
Регистрация: 06.12.2006
Цитата:
Сообщение от captain Посмотреть сообщение
А это пишут на форуме 1С http://forum-mista.pro/topic.php?id=711265
Понятно)) Кривая реализация в 1С помноженная на кривую реализацию в NAV дает множество вариантов кривого поведения..

Сырая это еще технология, ой сырая.
Старый 09.02.2015, 15:13   #35  
artkashin is offline
artkashin
Участник
MCBMSS
 
519 / 18 (2) ++
Регистрация: 06.12.2006
Цитата:
Сообщение от captain Посмотреть сообщение

Цитата:
что SQL сервер пишет в логах, кто коннектится, Юзер или [NT AUTHORITY\ANONYMOUS]?
База 1 С локальная, без сервера приложений и SQL
ну я имел ввиду наоборот, что пишет в логах NAV-SQL) ведь ты же подключаешься к наву из 1С). Доходит ли дело до попытки подключения к SQL с указанными credentials, или затык вообще возникает в другом месте?
Старый 09.02.2015, 16:14   #36  
Captain is offline
Captain
Участник
Лучший по профессии 2017
 
300 / 81 (3) ++++
Регистрация: 28.02.2003
Проблема в 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  
artkashin is offline
artkashin
Участник
MCBMSS
 
519 / 18 (2) ++
Регистрация: 06.12.2006
тады ой.
Обошли как нибудь? через прокси самописное, например?
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:43.