07.03.2019, 11:20 | #181 |
Banned
|
|
|
07.03.2019, 12:14 | #182 |
Moderator
|
Тут в Яммере Сунил задал вопрос "Какие Anti-patterns при работе с data entities вы знаете". В тему внесены 22 ответа за два дня. Перечислены все области функционала, кроме примитивного одноразового импорта ограниченного числа строк.
|
|
07.03.2019, 12:28 | #183 |
Модератор
|
Цитата:
P.S. суд по количеству лайков под постом trud о том, что подбирать надо не лучшую технологию "вообще", а технологию под конкретную задачу - прочитали его многие, поняли и оценили не все. Ничего личного, просто мысли вслух
__________________
-ТСЯ или -ТЬСЯ ? Последний раз редактировалось Vadik; 07.03.2019 в 12:48. |
|
07.03.2019, 13:48 | #184 |
Banned
|
Цитата:
Импорт JSON текстовых файлов. А подойдет DMF для update? Все изменения (246 полях из 39 таблиц) должны приниматься AX.
И AIF тоже выглядит вкусно как готовый шаблон который можно местами расширить, местами сдублировать. Для update подойдет. Там, где это можно, entity работают в режиме UPSERT, пользуемся этим каждый день. Про AIF уже все было сказано. Извините, в который раз отредактировал вместо того, чтобы ответить. Последний раз редактировалось EVGL; 07.03.2019 в 13:55. |
|
07.03.2019, 14:00 | #185 |
Banned
|
Цитата:
Сообщение от Vadik
И есть реально что-то интересное кроме паттернов которые сам MS настоятельно просит не использовать во всех techtalks, вроде объемного data management и Power BI через OData? Что для упоротых эти рекомендации не указ, в общем и так было понятно
P.S. суд по количеству лайков под постом trud о том, что подбирать надо не лучшую технологию "вообще", а технологию под конкретную задачу - прочитали его многие, поняли и оценили не все. Ничего личного, просто мысли вслух Но конечно этого хочется избежать. Продебажу стандартный AIF сервис и копну DMF. А там задница подскажет без оглядки на рекомендации MS. P.S. Прикольно я сам с собой разговариваю. Cпасибо! Последний раз редактировалось ax_mct; 07.03.2019 в 14:03. |
|
07.03.2019, 15:34 | #186 |
Moderator
|
Цитата:
2. Очень медленная выгрузка больших объемов в BYOD 3. Отстутствие параллелизма для многих типов Entity. (Да - я знаю что некоторые из них на number sequence завязаны, но грузить-то их как-то надо). Не из темы, а из собственного опыта: 1. Вчера внезапно у клиента перестал работать тупой экспорт из Customers в excel. Диагностики нету, есть только код ошибки от SSIS. Удалось победить заменив экспорт в excel на экспорт в CSV. Это Tier-2 окружение, в котором я точно никакого странного постороннего софта не ставил. 2. Несколько раз видел когда один и тот же набор данных грузился в обычном режиме и выдавал какую-то загадочную диагностику от SQL в Set Based update. (Хотя ok, Set Based update - это экстрим. Но с другой стороны - он заявлен и галочка не скрыта...) Я собственно нигде не отрицаю, что надо инструмент сообразно задаче выбирать. Просто опыт работы с DMF показывает что все кроме простейшего функционала там неустойчиво, неоттестировано и не имеет средств диагностики. Последний раз редактировалось fed; 07.03.2019 в 16:54. |
|
|
За это сообщение автора поблагодарили: sukhanchik (3). |
08.03.2019, 08:41 | #187 |
Moderator
|
Кстати, а как вы диагностируете проблемы, если что-то ломается на стадии загрузки в staging ? В таких ситуациях обычно только в event log полная информация об ошибке есть,а event log в prod не доступен. Вроде бы часть информации из event log в environment diagnostics тянется, но лога именно интеграции SSIS и D365FOE я там не нашел. (Возможно - плохо искал).
|
|
08.03.2019, 10:12 | #188 |
Модератор
|
Цитата:
Цитата:
Глюки change tracking и interactive push (сам сталкивался при работе data integrator)
Очень медленная выгрузка больших объемов в BYOD
__________________
-ТСЯ или -ТЬСЯ ? |
|
11.03.2019, 22:10 | #189 |
Banned
|
Есть такой интересный посыл от евангелиста (Martin Dráb)
Цитата:
D365FO doesn't come with it's own way for handling these things; simply take a .NET API of your choice and use it as in any other .NET application. It also means that you'll find a plenty of information on internet - tutorials, code samples and so on.
Just wrap the logic in a .NET class library, add a reference to your X++ project and call classes in the library when needed. https://community.dynamics.com/365/f...f/765/t/300455 А вот как стучаться в D365 из .NET сборки на том же сервере? ODATA если вставка записей или custom service JSON/SOAP если обращение к коду? То есть только через Active Directory и IIS? И чем им .NET/Business Connector помешал? При чем тут кросс-платформенность не понимаю. |
|
12.03.2019, 00:14 | #190 |
Участник
|
Цитата:
https://github.com/Microsoft/Recurri...ions-Scheduler |
|
12.03.2019, 13:46 | #191 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: ax_mct (2). |
12.03.2019, 15:32 | #192 |
Banned
|
Цитата:
Цитата:
Сообщение от trud
Это вроде описано в документации. есть даже пример с открытым кодом
https://github.com/Microsoft/Recurri...ions-Scheduler Но это не совсем "то". Хотя я уже все понял. Martin Dráb сказал что можно все что можно в .NET и я призадумался. И обнаружил что в современном .NET можно сделать гораздо меньше чем в мое время. То есть .NET Remoting (https://en.wikipedia.org/wiki/.NET_Remoting) в D365FO не применим. Это конечно вопрос к .NET. То есть .NET Business Connector уже не часть D365FO и варианты вызова кода это только веб-сервисы. Через AAD и IIS и никак иначе. И тут я всплакнул за Business Connector. |
|
12.03.2019, 15:42 | #193 |
Участник
|
Цитата:
|
|
12.03.2019, 16:29 | #194 |
Banned
|
Цитата:
Сообщение от belugin
Если сборка уже загружена в процесс dyn365fo и вызвана оттуда, то из нее можно вызывать X++ классы https://docs.microsoft.com/en-us/dyn...business-logic
В приведенном примере AXQueryProvider (LINQ) и подписка на AX событие из C#. Вызова X++ класса в примере нет. Кстати жалуются что данный пример не рабочий из-за binding errors. "12 Sep 2018 Bug 246523 has been logged to track this issue." и до сих пор. https://github.com/MicrosoftDocs/dyn...lic/issues/326 Но идея интересная сама по себе. Только мне кажется что это даже чинить не будут, закроют такую фичу как ненужную. Оставив замечательную статью о возможностях И будет сакральное знание о том что так делать не стоит уделом экспертов которым платят за то что они знают чему верить, а чему нет. Я например из этого понял что AX из C# это плохой и проблемный дизайн в данном контексте. Так как то же самое можно сделать с C# из X++ и спокойнее спать. Или таки есть опыт вызовов X++ классов из C#? |
|
12.03.2019, 17:40 | #195 |
Banned
|
Цитата:
https://en.wikipedia.org/wiki/Java_r...hod_invocation https://docs.oracle.com/javase/1.5.0...llo-world.html При этом да, судя по всему Java RMI сейчас используют намного меньше чем раньше, все делают REST. Как бы общий тренд вообще. P.S. По сути формально оставшись Java RMI тоже с рынка ушла. Но добавляя (интеграционный) компонент на ту же машину (в виде DLL в случае .NET) и использовать web-средства коммуникации, это странно. Даже в on-premise это сборка (подписанная причем) должна быть зарегистрирована как приложение в Azure AD и ходить TCP через IIS (в AX). Последний раз редактировалось ax_mct; 12.03.2019 в 17:59. |
|
28.03.2019, 00:56 | #196 |
Banned
|
Цитата:
Сообщение от ax_mct
Но сейчас у меня задача выбора архитектуры и создания рабочего прототипа.
Есть AX2012R3 и есть отдельная система master data management в которую должно быть передано управление номенклатурой товаров со всеми этими 30 таблицами вокруг этого. 2 совещания сегодня, есть список из 200-300 полей в 20-30 таблицах в AX которые должны обновляться из этой другой системы. DMF и web-service отвергнуто клиентом самостоятельно. Задача создания предельно стандартной коленки чтения из JSON файлов. Цитата:
Цитата:
Сообщение от EVGL
Убедить клиента, что он не прав и надо использовать DMF. Может быть, даже создать свой набор упрощенных классов, а не заморачиваться со стандартными. Импортировать текстовые файлы.
... JSON не поддерживается, в вот почему: ... Для update подойдет. Там, где это можно, entity работают в режиме UPSERT, пользуемся этим каждый день. Про AIF уже все было сказано. Сложный фреймворк - простой/стандартный бизнес процесс. Настроить без программирования. Простой фреймворк - сложный бизнес процесс. Только с простым можно программировать. Использование DMF, AIF для программирования противоречит 3 закону кибернетики. Только простой фреймворк может компенсировать Agile и нестандартные но при этом логичные требования клиента. |
|
28.03.2019, 14:20 | #197 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: Stitch_MS (1). |
28.03.2019, 20:29 | #198 |
Banned
|
Цитата:
Один раз зачаржишь 150 часов на AIF, в следующий раз будет делать тот кто делает на коленке за 40 часов. Конечно если клиент может сравнивать. А они как правило могут. Скорее всего сделав с AIF за 150 часов потом будешь отлавливать там чисто технические ошибки за свой счет вместо того чтобы чарджить дальше за реализацию новых бизнес-задач в своем собственном фреймворке. Если он сам не упирается рогом что хочет именно AIF/DMF то вряд ли он поймет увеличение стоимости в разы. Есть некое количество дней в мозгах у всех на примерные задачи. Оценив в 20 дней скорее всего работы просто бы не было или была но мозг бы сьели потом. Интерфейсные вещи это 5-10 дней начально по крайней мере. При данном заказе для клиента важна прозрачность и понятность ошибок по отношению к каждому полю в JSON файле, что выяснилось кстати уже после демонстрации прототипа и основное отличие в охвате импорта, порядка 40 таблиц с 300 полями. Задача просто бы не взлетела с AIF/DMF. То есть в Agile, когда все нюансы требований в процессе уточнения, использовать танки вместо телеги просто опасно. Я пару раз облегченно вздохнул что на коленке. Последний раз редактировалось ax_mct; 28.03.2019 в 20:33. |
|
28.03.2019, 21:14 | #199 |
Модератор
|
__________________
-ТСЯ или -ТЬСЯ ? |
|
28.03.2019, 22:02 | #200 |
Banned
|
Запустил AIF Service классы из джобика с целью продебажить конкретный нужный мне сервис на предмет его расширения, поймал ошибки конфигурации в схеме и понял что не хочу связываться.
Я честно посвятил AIF 10 минут своей жизни и понял что это не мое Совсем мне не захотелось заниматься еще и конфигурациями и настройками просто затем чтобы читать из файла. Как бы нюансы деплоймента и надежности работы. Совсем неинтересно зависеть от AIF настроек в политически сложном проекте. Ладно там если веб-сервисы, но вот зачем мне XSD, XML чтобы прочитать из JSON файла? Какая мне польза как программисту от AIF как инструмента при импорте из файла? Всю возможную пользу от AIF в случае импорта из текстового файла можно выборочно оттуда взять максимум за два дня. Что я и сделал. Есть полезный код, да. Поскольку с AIF уже работал то просто уже знал откуда брать. Entity из DMF использую как структуру, тоже честно DMF посмотрел, примерно часик посмотрел и впечатлился глубиной извращений. Ну его в болото такое дергать. Оно не для программиста этот фреймворк. Как ни странно полезное нашел в PBA и Retail классах как пример API для создания продуктов. А все остальное что в DMF что в AIF приходит к validateField, modifiedField, validateWrite, write. Ну и зачем мне обертки от которых одна боль? |
|
Теги |
#msftadvocate, aif, абстракции, закопаем стюардессу, индийская кухня, интеграция, как правильно, холивар |
|
|