19.11.2019, 13:24 | #121 |
Участник
|
Цитата:
Сообщение от belugin
Вот тут есть описание доступных функций.
Некоторые описания содержат ссылку на поддерживаемые форматы. |
|
19.11.2019, 13:28 | #122 |
Участник
|
|
|
19.11.2019, 13:52 | #123 |
Участник
|
Попробуй закачать крайний Invoice model и Ко + обрати внимание на теги в форматах.
|
|
19.11.2019, 17:16 | #124 |
Участник
|
Цитата:
а если серьёзно, то напомни-ка, когда в последний раз на проектах внедрения кто-то вспоминал о "преимуществах для разработчика"?
__________________
Felix nihil admirari |
|
|
За это сообщение автора поблагодарили: EVGL (3). |
20.11.2019, 11:03 | #125 |
Участник
|
Из забавного или не очень кстати осознал что связь между mapping и форматом крайне неустойчива в случае нескольких mapping.
Будьте бдительны! |
|
20.11.2019, 14:41 | #126 |
Участник
|
Цитата:
Если при запуске возникает неопределенность - несколько меппингов реализуют один и тот же record definition одной и той же модели, то ER ругается. В такой ситуации можно поставить на меппинге галочку, чтобы предпочитали его, но это рантайм сеттинг - он не экспортируется в конфигурацию и его перенос между средами придется поддерживать вручную. |
|
20.11.2019, 15:05 | #127 |
Участник
|
Цитата:
Абстрагированный пример из жизни: модель включает в себя "root": подготовленный список клиентов со свойствами как самого списка так и отдельных элементов (назову его А). Для почти всех компаний использую формат ААA_ОбычныйЧеловек и маппинг A_Mapping Но китайцы как всегда оказались вне кассы и хотят свой формат AAA_Китаец со своими данными которые получаю из маппинга B_Mapping При этом китайцы выгружают список своим т.е формата AAA_Китаец так и другим то есть формата ААA_ОбычныйЧеловек. Понятно что могу сделать копию А типа А_Китай в модели но выглядеть это будет извращением. По факту получается что если какой то сторонний разработчик сделает маппинг и формат - протестит и по факту все будет хорошо, то закачав к себе в модель я могу сломать вывод всех своих форматов основанных на том же root так как подцепится не тот маппинг. А если их будет не один и не два? Печаль, грусть, надо уйти в запой. Последний раз редактировалось axm2017; 20.11.2019 в 15:13. |
|
20.11.2019, 16:37 | #128 |
Участник
|
В модели Customer invoice model два маппинга: Customer Invoice и Project Invoice.Я настроил 2 своих формата (xml и xls) на этой модели.
Я не разбирался, в чем отличия этих маппингов, но правильно ли я понял, что при построении отчетов потенциально могут быть проблемы из-за неоднозначности выбора используемого маппинга? |
|
20.11.2019, 16:57 | #129 |
Участник
|
Цитата:
Сообщение от Libovs
В модели Customer invoice model два маппинга: Customer Invoice и Project Invoice.Я настроил 2 своих формата (xml и xls) на этой модели.
Я не разбирался, в чем отличия этих маппингов, но правильно ли я понял, что при построении отчетов потенциально могут быть проблемы из-за неоднозначности выбора используемого маппинга? |
|
20.11.2019, 17:40 | #130 |
Участник
|
|
|
20.11.2019, 18:02 | #131 |
Участник
|
|
|
20.11.2019, 19:56 | #132 |
Участник
|
Цитата:
При этом вы хотите чтобы сохранялся единый интерфейс, но некоторые его методы имплементировала одна реализация а некоторые другая. При этом каждый потребитель использовал свое подмножество методов. Это все равно что два виртуальных интерфейса живущие внутри одного. Я вам предлагаю эти подмножества просто назвать отдельными именами - сам интерфейс можно получить через derive, а реализации и так две. |
|
20.11.2019, 20:15 | #133 |
Участник
|
Уф. Сколько непонятных слов.
Попробую проще. Вот в условном завтра внешний разработчик пришлёт мне свой маппинг и формат. Как понимаю залить я не смогу не сломав ничего. И это архитектура такая. Круто чо. Интерфейс я не меняю. Однако теперь вынужден его дублировать. Дерайв это наследование? как понимаю тоже дублирование только с ещё кучей неизвестных. |
|
26.11.2019, 16:13 | #134 |
Banned
|
Вопрос знатокам: как реплицировать record заданное, динамическое количество раз? Стоит задача для строки заказа с количеством 5 напечатать 5 раз строку с количеством 1.
|
|
26.11.2019, 16:50 | #135 |
Участник
|
На уровне идей
как то типа вызвать какой то strRep с количеством из строки и далее применить к этому er-овский split на сколько помню получим list по которому и можно бегать.Просто нет аксапты под рукой не могу попробовать. Последний раз редактировалось axm2017; 26.11.2019 в 16:53. |
|
|
За это сообщение автора поблагодарили: EVGL (5). |
26.11.2019, 17:13 | #136 |
Banned
|
Верно. В теории, получится список из строк длиной в одну букву внутри одной записи. LISTJOIN же разнородные списки не соединяет. Хотя мы действительно можем "бегать" по списку внутри записи, а сама запись становится "родителем". Надо попробовать.
|
|
27.11.2019, 09:57 | #137 |
Участник
|
С моей точки зрения меняете - интерфейс это не только методы и их типы но и полный контракт - набор ожиданий от пользователя. см также LSP
derive это что-то типа бранчинга. В лукапах derived модель рассматривается как и базовая - т.е. будут видны форматы ссылающиеся на базовую и на derived. Последний раз редактировалось belugin; 27.11.2019 в 10:02. |
|
27.11.2019, 10:07 | #138 |
Участник
|
Если поместить calculated field, ссылающийся на запись, которую надо реплицировать внутрь такого списка, то получится вроде то, что нужно
|
|
27.11.2019, 23:50 | #139 |
Участник
|
Цитата:
Сообщение от belugin
С моей точки зрения меняете - интерфейс это не только методы и их типы но и полный контракт - набор ожиданий от пользователя. см также LSP
Для меня как для программиста тоже не все так просто так как по факту вы жёстко задаёте связку между рутом и маппингом: один рут модели - только один маппинг. Это как минимум забавно. Для меня лично это загадка и я бы выбрал другое архитектурные решение. Может если дадут свободу и время то доработаю (сделаю связку маппинг-формат с возможностью смены маппинга) так как не вижу никаких + столь странного выбора а вот - хоть отбавляй типа автоматически кастомерам можно дать рекомендацию не использовать не свои руты чужих моделей, так как есть угроза что закачка какого то чужого маппинга сломает их форматы построенные на основе этого рута. Всё это по мне так печально. Derive как понимаю вы имеете ввиду Child. Риски работы с ними у нас не оценены, пока поэтому не используем. Увидим живые примеры от мс обрадуется и может подумаем. Последний раз редактировалось axm2017; 28.11.2019 в 00:02. |
|
28.11.2019, 08:50 | #140 |
Участник
|
Тут скорее просто формальная логика (отношение между частным и общим).
Цитата:
Для меня как для программиста тоже не все так просто так как по факту вы жёстко задаёте связку между рутом и маппингом: один рут модели - только один маппинг.
Это как минимум забавно. Еще на Ax2012 роль меппинга для той же модели играет просто класс-провайдер данных. Так же есть для любого формата возможность подмены модел меппинга на другой (не загружать тот, который не нужен или воспользоваться галочкой). Если формат будет зависеть от конкретного меппинга этой возможности не будет. Просто вам эта возможность, наверное, не нужна. Цитата:
Для меня лично это загадка и я бы выбрал другое архитектурные решение. Может если дадут свободу и время то доработаю (сделаю связку маппинг-формат с возможностью смены маппинга) так как не вижу никаких + столь странного выбора
Цитата:
а вот - хоть отбавляй типа автоматически кастомерам можно дать рекомендацию не использовать не свои руты чужих моделей, так как есть угроза что закачка какого то чужого маппинга сломает их форматы построенные на основе этого рута.
Цитата:
Derive как понимаю вы имеете ввиду Child. Риски работы с ними у нас не оценены, пока поэтому не используем. Увидим живые примеры от мс обрадуется и может подумаем.
|
|
Теги |
generic electronic reporting, ger |
|
|