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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.02.2015, 17:06   #1  
Васыо is offline
Васыо
Участник
 
316 / 12 (1) ++
Регистрация: 15.11.2006
Да я уже подумал и передумал через КД Пробую ВыгрузкойЗагрузкойДанныхЧерезXML. Выгрузил - смотрю XML и повторяю его в NAV через XML DOM. Всё замечательно, только не могу понять, как объявить префикс пространства имен.
Старый 06.02.2015, 10:48   #2  
artkashin is offline
artkashin
Участник
MCBMSS
 
519 / 18 (2) ++
Регистрация: 06.12.2006
Цитата:
Сообщение от Васыо Посмотреть сообщение
Да я уже подумал и передумал через КД /> Пробую ВыгрузкойЗагрузкойДанныхЧерезXML. Выгрузил - смотрю XML и повторяю его в NAV через XML DOM. Всё замечательно, только не могу понять, как объявить префикс пространства имен.
не объявляйте префикс средствами XMLDOM. сохраните шаблончик где-то в базе, и сформированный XML добавляйте в конец шаблона, как вариант.
Старый 06.02.2015, 11:41   #3  
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С-ника, и согласовывать формат выгрузки/загрузки.
Я надеюсь, я вам помог)
 


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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:40.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.