Показать сообщение отдельно
Старый 14.03.2018, 00:41   #56  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,275 / 3476 (122) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Как раз-таки из п.3 следует не быстрая, а медленная реакция ИТ на изменения. Экстеншены не могут ускорить разработку - они ее только замедляют, потому что решая вопрос "какие изменения внести" приходится дополнительно решать вопрос "как внести эти изменения".

Пример 1 (примеры приводятся технические, без привязки к бизнес-процессам и обсуждения, что идеологически этот пример не будет применен в жизни).
Заявка на закупку. Хочу в строках разрешить лукап номенклатуры (он изначально доступен только при создании строки, а я хочу ее выбирать и после создания строки). Но... на поле таблицы строк заявки стоит AllowEdit = No (AllowEditOnCreate=Yes).
Без экстеншенов достаточно было изменить только свойство на поле таблицы. (пример условный, предполагаем, что остальной код работает корректно). Ориентировочно, с учетом всех бюрократий (записать часы, внести изменения в багтрекер, задеплоить, протестировать и т.д.) будем считать, что это 0,5 часа.
С экстеншенами приходится делать edit-метод на гриде формы (т.е. делать экстеншн формы), плюс писать код по обработке этого edit-метода (lookup, modified, jumpref). Учитывая, что мы не можем влезать в код обработки этого поля, то нам нужно еще писать код, который бы запрещал / разрешал редактирование этого поля, например, когда запущен Workflow. Ну и если какая-то еще логика была на этом поле - ее также надо "перетянуть".
Т.о., с учетом всех бюрократий - на это можно потратить часа 4 (учтем, что с увеличением сложности разработки пропорционально увеличивается и время тестирования, т.о. усложнение разработки допустим в 2 раза увеличивает общее время решения задачи минимум раза в 4).

Цифры условные, если кто-то считает, что 4 - это много, то всяко думаю понятно, что эта работа сильно больше, чем просто поменять свойство на поле.

В моем случае соотношение получилось 1:8 - т.е. в 8 раз дольше занимает решение задачи через экстеншены по сравнению с оверлеингом.

Пример 2. Хочу добавить раскраску строк на форме. Пусть это бантик, но ... опять-таки в контексте гибкости изменений - это нормальное желание. Система технически не предоставляет возможности это сделать без оверлеинга либо дублирования формы. Дублирование формы чревато тем, что если к ней были сделаны экстеншены, то их нужно будет склеивать в нашу новую форму. Что влечет за собой дополнительные расходы. Ну и надо понимать, что дублирование формы предполагает встраивание ее в меню, во всякие иные вызовы и т.д. Опять-таки, при несложном критерии раскраски - с оверлеингом или своей формой задача решается за 0,5-1 час (со всей бюрократией). Дополнительные работы с учетом тестирования и прочей бюрократией опять могут дотянуть до 4-х часов.

Все вышесказанное не означает, что экстеншены плохие. У них есть самый главный плюс - их легко устанавливать в систему, если они готовые и корректно написаны. Корректно - это означает, что они не зависят от дополнительных экстеншенов, которые надо дополнительно устанавливать, либо все можно установить одним пакетом для данного конкретного клиента. В мире продаж - это корректно называть расширения / экстеншены, а в мире разработки они называются моделями.
Т.е. если к примеру представить себе, что вышло какое-то новое веяние - новое законодательство или новая мода (например, интеграция с соцсетями), то готовый корректный экстеншен можно загрузить из какого-нибудь магазина расширений и вуаля - "осталось" только его настроить.

Но в нашем неидеальном мире такое вряд ли будет в некотором обозримом будущем, поэтому клиенты сами стремятся внести изменения "под себя". Кто-то больше, кто-то меньше. Т.е. по сути - сами пытаются вести разработку. А разработка "легкоустанавливаемых" расширений как раз-таки сильно сложнее простого оверлеинга, как это было в предыдущих версиях.

Ну т.е. где-то надо за удовольствие платить - либо платим скоростью разработки и получаем легкоустанавливаемое расширение, либо платим сложностью подъема, но получаем быструю разработку. Также как и с апгрейдом - если посчитать стоимость апгрейда и соотнести ее с увеличением стоимости разработки из-за "неусложнения" апгрейда, то получится то, что мы и наблюдаем по AX2012 и предыдущим версиям - компании предпочитают минимизацию стоимости разработки, платя за это усложнением подъема и апгрейда.
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось Vadik; 14.03.2018 в 11:58.
За это сообщение автора поблагодарили: S.Kuskov (5), raz (5), AlGol (2).