|
![]() |
#1 |
Участник
|
Цитата:
самый простой пример - поля на таблице. т.е. у вас есть новое поле "A" на CustTable лежащее в кастомизации этой таблицы, вы решаете сделать по модному.. создаете новую extension модель, далее вам надо в ней создать новый объект - extension для custTable, удалить поле из CustTable, добавить его в новый extension. как только вы сделаете это "бонусом" получите неработоспособность тулзов в Visual Studio таких как обновить дата ентити по таблице. далее если те кто установят ваше решение кодируют используя кастомизацию в AppSuite и захотят заюзать ваши поля, тут их тоже ждет сюрприз, так как поля собственно будут недоступны из AppSuite или есть новый метод на классе - тут вообще переделка на экстеншены может быть невозможна если внутри него вы обращаетесь к private переменным Последний раз редактировалось trud; 08.03.2017 в 09:59. |
|
![]() |
#2 |
Модератор
|
Цитата:
![]() не по фэншую же
__________________
-ТСЯ или -ТЬСЯ ? |
|
![]() |
#3 |
Участник
|
Цитата:
Цитата:
![]() Последний раз редактировалось skuull; 08.03.2017 в 12:08. |
|
![]() |
#4 |
Участник
|
Цитата:
Цитата:
Создается третья модель, котороя ссылаеться на экстеншен и предастваляет доступ к полям, а App Suite ссылаеться на нее.
вообще есть кстати третий путь, который я думаю используют большинство - т.е. создается модель кастомизации, и далее все экстеншены уже делаются в ней. это сводит на нет начальную идею экстеншенов(отдельные бинарники), но зато можно смело говорить всем что "мы используем экстеншены" (но не везде ![]() идеальным вариантом конечно было бы сделать возможности изменения теми которые сейчас есть в экстеншенах(т.е. возможность менять меню, форм, каких-то св-в без перекрытия базового кода) + предложить разработчику решать - хочет ли он помещать код в отдельную DLL(в этом случае компилятор уже должен следить чтобы не было обращений к приватным переменным и прочему) или вместе с основной. зачем они сделали 2 разных по сути формата файлов изменений (кастомизацию и экстеншн) это не очень понятно несомненный негатив от экстеншенов в том виде как они сейчас есть - это то что это другой объект в AOT с произвольным названием и визуально их наличие реализовано слабо - т.е. раньше хотя бы все эвенты было видно в AOT, теперь можно подписаться на метод, это вообще никак визуально будет не видно как разбираться в таком коде - особенно если он изначально разрабатывался не вами - не очень понятно, на мой взгляд время проведенное за анализом будет поболее чем время за обновлением на очередной CU вообще если подумать вся эта идея с отдельными частями системы уже была придумана дамгардами и называлась файлами слоев. т.е. если ваш слой не трогал каких то приватных методов из sys его можно было скопировать и при некотором везении использовать без компиляции на другом приложении. в 2012 это убрали, а сейчас они заново по сути изобретают тоже самое. |
|
![]() |
#5 |
Microsoft Dynamics
|
LCS сама екстеншины не создает. Но, мы говорим о ISV с нулевым оверлеингом. Екстеншины для ISV с нулевым оверлеем не особо нужны.
Цитата:
По поводу новой модели. Зачем создавать новую модель для екстеншинов? У ISV с нулевым оверлеем есть своя модель, добавляйте екстеншины в эту же модель с ISV. Последний раз редактировалось AlexSD; 09.03.2017 в 00:52. |
|
![]() |
#6 |
Участник
|
Цитата:
Сообщение от AlexSD
![]() Но, мы говорим о ISV с нулевым оверлеингом. Екстеншины для ISV с нулевым оверлеем не особо нужны.
С полями, можно обойтись без екстеншина. По поводу новой модели. Зачем создавать новую модель для екстеншинов? У ISV с нулевым оверлеем есть своя модель, добавляйте екстеншины в эту же модель с ISV. разговор собственно начался с фразы ниже, и обсуждению зачем это нужно. Цитата:
МС поставил перед ними срок 12 месяцев чтобы переделать свой ISV на 100% экстеншен
но народ кстати на яммере довольно активно этим занимает, некоторые используя подход описанный skuull, насоздавали уже по 10 моделей, зачем то они ж это делают Цитата:
Cоздается третья модель, котороя ссылаеться на экстеншен и предастваляет доступ к полям, а App Suite ссылаеться на нее
|
|
![]() |
#7 |
Участник
|
Цитата:
![]() Под этой фразой я имел в виду отсутствие Overlayering. Не забываем о том что ребята продают ISV и как только клиент захочет купить два разных ISV с оверлеингом App suite кто интересно будет ему их сводить? Вернее свести то не проблема, в 12 сводили и норм, но радужная картина апп стора и деплойментов 1 кнопкой из LCS рушиться к чертям ![]() Мне кажется эта тема тут уже обсуждалась и не раз. Пока весь мир вокруг уменьшает coupling, придумывает всякие микросервисы и прочей дурью маються мы 20 с лишним лет валим все в один неймспейс и тычим пальцем в дураков которые создают больше одной модели. |
|
|
За это сообщение автора поблагодарили: trud (2). |
![]() |
#8 |
Участник
|
как раз для AppStore и нужны extension модели. тип модели задается при создании
|
|
![]() |
#9 |
Участник
|
Цитата:
![]() |
|
![]() |
#10 |
NavAx
|
Цитата:
![]()
__________________
Isn't it nice when things just work? |
|
![]() |
#11 |
Microsoft Dynamics
|
Цитата:
![]() Каждый случай нужно рассматривать отдельно. Варианты решения могут быть найдены разные. Например, для тех форм, где уже есть 25-29 таблиц, где этот порог действительно скоро будет перейден, можно стандартную форму оставить как есть, сделать свою форму для своих полей. Короче, это не та причина, что бы перестать создавать свои таблицы. |
|
![]() |
#12 |
NavAx
|
Цитата:
Ну вот давай рассмотрим сценарий: На стандартной форме 24 таблице в join. Устанавливается 2 решения от 2-х разных ISV. Каждое из решений добавляет по 3 таблицы. В очередно релизе MS решает накинуть еще несколько табличек. Часто для системных нужд. Рефакторинг, нормализация, шаблоны проектирования и все такое. И не забываем что типичный консультант свято уверен что врубить флажок secure by legal entity в параметрах GAB логичное решение. Ведь это стандарт и в доках его рекомендуют использовать. Так вот, сколько у нас в результате таблиц в запросе получится? P.S. Нет, я согласен, что концепция красивая и в любом случае "все там будем", но есть у меня ощущение что граблей тут разбросано изрядно. Топтать и топтать.
__________________
Isn't it nice when things just work? Последний раз редактировалось macklakov; 10.03.2017 в 05:23. |
|
![]() |
#13 |
Microsoft Dynamics
|
Цитата:
Документы, журналы, транзакции скорее всего будут своими, сделанные специально для ISV (с нулевым оверлеингом). То, что ты описываешь, больше похоже на ISV с ненулевым оверлеингом, которое расширяет существующий функционал оверлея его на все 100%. В случае, когда на форме уже есть 24 таблицы, я бы, как вендор ISV, такую форму не полез бы со своими таблицами. Прилепил бы поля на новую форму и повесил бы ее куда-нибудь на кнопку. |
|
Теги |
#многоходовочка, ax7, axanywhere, d365, toincrease, whs, wmdp |
|
|