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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.05.2021, 08:53   #441  
axm2017 is offline
axm2017
Участник
 
1,747 / 292 (13) ++++++
Регистрация: 15.05.2017
Например хочу добавить *. dbf и у меня есть обработка переводящая к примеру в json и обратно. Хочу добавить к списку из типов файлов
Старый 20.05.2021, 09:10   #442  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от axm2017 Посмотреть сообщение
Например хочу добавить *. dbf и у меня есть обработка переводящая к примеру в json и обратно. Хочу добавить к списку из типов файлов
Можно сделать запускалку формата, которая разберет dbf и отправит стрим геру

Поищите по коду createMappingDestinationRunByImportFormatMappingId

Вот, например CashRegisterProcessingEFSTA_W:

X++:
var runner = ERObjectsFactory::createMappingDestinationRunByImportFormatMappingId(
            cashRegisterFiscalTrans.terminal().register().ResponseFormatId,
            CashRegisterProcessingEFSTAConfigConst_W::responseFormatIntegrationPoint);
...

var traverser = new ERModelDefinitionParametersTraverser(parameters);
            while (traverser.moveNext())
            {
                var current = ERCast::asAny(traverser.current()) as ERIImportFormatDataSourceContract;
                if (current)
                {
                    ...
                    current.parmInputDataStream(stream);
                }
            }
За это сообщение автора поблагодарили: EVGL (5), axm2017 (4).
Старый 21.05.2021, 15:33   #443  
axm2017 is offline
axm2017
Участник
 
1,747 / 292 (13) ++++++
Регистрация: 15.05.2017
Круто таким образом по идее мы можем стримить откуда угодно для заливки данных в аксапту.

А в обратную сторону есть какие то примеры-шаблоны?
Типа хочу на выходе получить что-то, преобразовав из json к примеру в свой формат?
Старый 02.06.2021, 18:28   #445  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
В исходящем формате можно импортировать шаблон и в конструкторе формата выстраивается дерево полей отчета, которые потом маппятся с полями модели.
А для входящего формата (для импорта данных в модель) пункта Импорт для загрузки шаблона нет. Получается, что структуру входящего файла надо создавать только вручную. Не понятно, чем это вызвано или я чего-то не нашел?
Подскажите, пожалуйста, кто знает.
Старый 02.06.2021, 20:08   #446  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Вы для какого вида формата это делаете? Я xml смог вполне сгенерировать по примеру.
Старый 02.06.2021, 23:11   #447  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Из JSON. Но проблема в том, что для исходящего формата есть кнопка Импорт для загрузки шаблона
Нажмите на изображение для увеличения
Название: T1.jpg
Просмотров: 17
Размер:	81.8 Кб
ID:	13176
а для входящего ее просто нет
Нажмите на изображение для увеличения
Название: T2.jpg
Просмотров: 17
Размер:	80.6 Кб
ID:	13177
Старый 03.06.2021, 13:03   #448  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
А есть какой-нибудь стандартный формат, который использует JSON, чтобы можно было посмотреть как в конструкторе GER выглядит дерево для этого формата?
Старый 03.06.2021, 13:43   #449  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Можно качнуть все форматы с LCS и поискать там ERTextFormatJSONObject
Старый 03.06.2021, 14:27   #450  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Цитата:
Сообщение от belugin Посмотреть сообщение
Я xml смог вполне сгенерировать по примеру.
А как вы это сделали? Как импортировали xml-пример в конструкторе для входящего формата?
Старый 03.06.2021, 14:30   #451  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Цитата:
Сообщение от belugin Посмотреть сообщение
Можно качнуть все форматы с LCS и поискать там ERTextFormatJSONObject
Ну это практически нереально в разумные сроки. Как я понимаю их там уже тысячи
Старый 03.06.2021, 16:38   #452  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Так скачать в виде XML файлов и поискать Visual Studio Code

например "eInvoice data import format (IN)"
Старый 03.06.2021, 16:41   #453  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от Libovs Посмотреть сообщение
А как вы это сделали? Как импортировали xml-пример в конструкторе для входящего формата?
Import \ Import from XML

Для этого формат должен быть пустой, без компонентов
Старый 03.06.2021, 18:29   #454  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Возможность импорта появляется, если при создании конфигурации формата вообще не указывать тип формата. Тогда Импорт есть, но только из 3 типов файлов
Название: T3.jpg
Просмотров: 187

Размер: 21.6 Кб
Старый 04.06.2021, 09:34   #455  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Ну в общем можно сделать вывод, что поддержка JSON не более чем маркетинговая декларация Майкрософт, для практического применения этот формат не пригоден. Кроме одноуровневой конструкции
{"Name1":Value1, ... :NameN":ValueN}
ничего настроить невозможно.Не поддерживается основная возможность формата - Object inside Object, в GER Object может содержать исключительно Properties - ни массив, ни другой объект не вставляется
Название: T4.jpg
Просмотров: 173

Размер: 35.1 Кб
а т.к. в реальной жизни любой JSON-запрос начинается с рутового объекта {}, в который и включаются все остальные типы Object / Array / Properties, ничего кроме рутового объекта с линейным списком свойств в GER настроить невозможно.
И абсолютно непонятно почему такая ущербная реализация - JSON куда проще xml, всего 3 типа структур и структурирован не хуже.
Старый 04.06.2021, 10:25   #456  
axm2017 is offline
axm2017
Участник
 
1,747 / 292 (13) ++++++
Регистрация: 15.05.2017
Цитата:
Сообщение от Libovs Посмотреть сообщение
а т.к. в реальной жизни любой JSON-запрос начинается с рутового объекта {}, в который и включаются все остальные типы Object / Array / Properties, ничего кроме рутового объекта с линейным списком свойств в GER настроить невозможно.
...
Справедливости ради + чисто по фану,
попробовал и получил
Нажмите на изображение для увеличения
Название: JSON array test.png
Просмотров: 18
Размер:	24.3 Кб
ID:	13181
То есть настроить что то можно (если что не соприкасался плотно с JSON в GER поэтому не претендую)
Нажмите на изображение для увеличения
Название: json array pic 2.png
Просмотров: 12
Размер:	50.4 Кб
ID:	13182

Последний раз редактировалось axm2017; 04.06.2021 в 10:30.
За это сообщение автора поблагодарили: Libovs (1).
Старый 04.06.2021, 11:43   #457  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Судя по вашему скрину объект надо вкладывать не в предыдущий объект, а в свойство предыдущего объекта? Ну что-то в этом есть - я не додумался, поэкспериментирую еще, может чего и получится... Спасибо за подсказку.
Старый 04.06.2021, 12:42   #458  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от Libovs Посмотреть сообщение
Судя по вашему скрину объект надо вкладывать не в предыдущий объект, а в свойство предыдущего объекта? Ну что-то в этом есть - я не додумался, поэкспериментирую еще, может чего и получится... Спасибо за подсказку.
В JSON насколько я знаю, нельзя вкладывать объект в объект без создания свойства.

https://www.json.org/

https://www.json.org/img/object.png
Старый 04.06.2021, 18:09   #459  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Тут https://techeplanet.com/json-example/ нашел такую картинку
Нажмите на изображение для увеличения
Название: T5.jpg
Просмотров: 13
Размер:	48.2 Кб
ID:	13183
сейчас пробую такую структуру повторить в GER
Старый 09.06.2021, 12:24   #460  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Со вложенностью объектов разобрался, спасибо axm2017
Но теперь проблема с массивом. Сделал такую структуру
Нажмите на изображение для увеличения
Название: J1.jpg
Просмотров: 11
Размер:	73.7 Кб
ID:	13184
При Выполнить генерится шаблон
{"Prop0": ,"InObj": {"InProp1": ,"InProp2": },"InArray": [{"ArProp1": ,"ArProp2": }]}
Визуально вроде все правильно, и если загружать из него массив с одной строкой - то срабатывает
{"Prop0":"str1","InObj": {"InProp1":3,"InProp2":11.22},"InArray": [{"ArProp1":"str2","ArProp2":"str3"}]}
но если добавляю в массив еще одну строку
{"Prop0":"str1","InObj": {"InProp1":3,"InProp2":11.22},"InArray": [{"ArProp1":"str2","ArProp2":"str3"},{"ArProp1":"str4","ArProp2":"str5"}]}
то вылетает ошибка. В маппинге массив отображается не как список записей, а как запись
Нажмите на изображение для увеличения
Название: J2.jpg
Просмотров: 16
Размер:	75.0 Кб
ID:	13185
поэтому появление ошибки вроде как и должно быть.
Но как правильно описать структуру, чтобы массив воспринимался именно как массив, т.е. список записей? Что во что надо вкладывать? Подскажите, если можно.
Теги
generic electronic reporting, ger

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ievgensaxblog: MSDyn365FO. How to Import CSV file using Electronic Reporting. Part 2 – Format. Blog bot DAX Blogs 0 06.02.2019 07:12
ievgensaxblog: MSDyn365FO. How to Import CSV file using Electronic Reporting. Part 1 – Data Model. Blog bot DAX Blogs 0 06.02.2019 07:12
erconsult: Electronic Reporting (ER) Cookbook 2: new tips from the kitchen Blog bot DAX Blogs 0 06.08.2018 17:11
powerobjects: Electronic Reporting in Dynamics 365 for Finance and Operations Blog bot DAX Blogs 0 14.02.2018 03:28
erconsult: Electronic Reporting (ER) Cookbook Blog bot DAX Blogs 24 09.10.2017 08:47
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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