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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.08.2016, 17:17   #1  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,510 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Новая номерная серия в АХ7
Всем привет!

Столкнулся с необходимостью добавить новую номерную серию в расчёты с клиентами. Сломал себе мозг Я не могу изменить loadModule класса соответствующих номерных серий. Пробовал перехватывать new с помощью делегатов - ничего не получилось. В сети никаких паттернов на эту тему тоже нет.

Кто-нибудь уже решал успешно подобную задачу?
__________________
С уважением,
Вячеслав
Старый 10.08.2016, 17:33   #2  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Точно не ищется?
https://www.google.com/?gws_rd=ssl#q...equence+in+ax7

Не оно https://devserra.wordpress.com/2016/...ected-methods/
За это сообщение автора поблагодарили: Logger (3), gl00mie (3).
Старый 10.08.2016, 17:40   #3  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
%$#ть! вот это круто
Цитата:
Some classes on AX have their methods as “protected” and this blocks the possibility of the use of “event handler”.
Customize the class, before the declare of the method use the attribute Hookable = true as below:
X++:
[HookableAttribute(true)]
protected void loadModule()
{
With the hookable attribute as “true” now you have the option to create the event handler.
Какой смысл клепать свои пре-/пост-обработчики, если для этого нужно поднять стандартный метод на свой слой разработки?..
За это сообщение автора поблагодарили: AlGol (2), Lemming (5), Logger (1), iCloud (2).
Старый 10.08.2016, 17:55   #4  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Действительно интересно.
Они пришли к отрицанию идеи перекрытия Event-ов ?
Должно наверно быть какое-то разумное объяснение.
Старый 10.08.2016, 18:21   #5  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,510 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Цитата:
Сообщение от raz Посмотреть сообщение
Точно не ищется?
точно не ищется
я не могу менять стандартные классы. такое требование разработки. весь стандартный код должен быть as is. Если бы можно было приклепать хук в стандарт, то и вопроса бы не возникло
__________________
С уважением,
Вячеслав

Последний раз редактировалось pitersky; 10.08.2016 в 19:12.
Старый 10.08.2016, 18:54   #6  
AP-1055D is offline
AP-1055D
Участник
 
351 / 92 (4) ++++
Регистрация: 01.06.2011
Я думаю, что это сделано ради повышения модульности системы, чтобы легче было устанавливать обновления.
Старый 10.08.2016, 21:13   #7  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,510 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Мне вот интересно - есть же люди на партнёрах, которые с семёркой уже полгода как работают на переводе отраслевых решений. Как-то же они обошли это
__________________
С уважением,
Вячеслав
Старый 10.08.2016, 23:40   #8  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
700 / 752 (27) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
Цитата:
Сообщение от pitersky Посмотреть сообщение
Мне вот интересно - есть же люди на партнёрах, которые с семёркой уже полгода как работают на переводе отраслевых решений. Как-то же они обошли это
Мы открывали issue на коннекте и пинали МС. Cначала на TAP митингах, потом ушли в лайв и пинаем через суппорт.

Еще есть канал на ямере https://www.yammer.com/dynamicsaxfee...feedId=7730273 там такие же бедолаги просят дать возможность экстендить складский аналитики или еще чего, иногда даже с результатом. Про номерные серии тоже спрашивали, им даже сказали "Спасибо, спосмотрим".

Последний раз редактировалось skuull; 10.08.2016 в 23:54.
Старый 11.08.2016, 02:26   #9  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Цитата:
Сообщение от gl00mie Посмотреть сообщение
%$#ть! вот это круто
Какой смысл клепать свои пре-/пост-обработчики, если для этого нужно поднять стандартный метод на свой слой разработки?..
Есть несколько смыслов - events теперь можно писать только для public методов или методов помеченных HookableAttribute. идея довольна очевидна - если метод не public, значит его разработчик хочет скрыть реализацию и не хочет никаких неожиданностей в виде пре-/пост- эвентов
Кроме того утверждалось что если в методе единственное изменение HookableAttribute, то утилита обновления это должна просечь и обновить метод автоматом(я это правда проверял в CTP7, и это не работало)
хуже всего на самом деле с енумами, их сделали по умолчанию все нерасширяемые(добавив сво-во IsExtensible=false).
Алгоритм исправления соответственно через поддержку - создаете баг, описываете зачем вам надо добавить HookableAttribute или IsExtensible, если ваши доводы убедительны, то в следующей версии добавляют.
ну или просто меняете сами
Цитата:
Сообщение от pitersky Посмотреть сообщение
Мне вот интересно - есть же люди на партнёрах, которые с семёркой уже полгода как работают на переводе отраслевых решений. Как-то же они обошли это
ну я думаю это крайне нетипично добавлять номерную серию в существующий модуль. как правило делают свою форму параметров и в ней уже свои номерные серии

Последний раз редактировалось trud; 11.08.2016 в 02:50.
Старый 11.08.2016, 03:24   #10  
eugene egorov is offline
eugene egorov
Участник
Аватар для eugene egorov
 
273 / 97 (4) ++++
Регистрация: 05.06.2002
Адрес: Москва
Ну приплыли....и чо?
__________________
любитель портвейна и снов с прокисшей капустой в усах
За это сообщение автора поблагодарили: iCloud (2).
Старый 11.08.2016, 04:17   #11  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,246 / 980 (37) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от eugene egorov Посмотреть сообщение
Ну приплыли....и чо?
Все как всегда. http://www.joelonsoftware.com/articl...000000339.html
Через пару CU что-то более вменяемое сделают. А пока что нужно делать то, что и всегда когда видишь корпоративный маразм. Заваливать их требованиями и багами, пока не начнут шевелиться.
__________________
Isn't it nice when things just work?
За это сообщение автора поблагодарили: Lemming (5).
Старый 11.08.2016, 14:14   #12  
Lemming is offline
Lemming
Участник
Аватар для Lemming
 
1,144 / 343 (14) ++++++
Регистрация: 20.04.2004
Адрес: Москва, Чайнатаун в Люблино
Записей в блоге: 10
Cool
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Какой смысл клепать свои пре-/пост-обработчики, если для этого нужно поднять стандартный метод на свой слой разработки?..
Это они так инкапсуляцию организовали - защитили метод от вмешательства. Хотите вмешаться, поднимайте на свой слой и делайте что пожелаете. Другой вопрос: насколько это все вообще нужно в системах, где основой настройки является программирование на специальном DSL языке.

p.s. В мире open source такие вопросы решаются Fork'ом проекта и делай что хочешь, на свой страх и риск.
Старый 12.08.2016, 03:57   #13  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,246 / 980 (37) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от Lemming Посмотреть сообщение
В мире open source
Мне кажется, что именно от этого и хотят уйти. Код может и оставят доступным для чтения, в качестве документации к продукту. Но контролировать код они хотят полностью. Тогда они смогут, к примеру, давать обоснованные гарантии клиентам. А это уже очень серьезное конкурентное приемущество.
В качестве примера посмотри на Excel. Ты можешь хоть через VBA хоть из стороннего приложения обращаться. В любом случае, увидишь примерно одинаковое API. Т.е. ты можешь много наворотить с тем, какие данные и откуда появляются в ячейках, но сами ячейки ведут себя стандартным образом.
По мне так ход логичный и может оказаться что даже выигрышный. Другое дело что процесс перехода будет довольно турбулентным. Впрочем, как всегда.
__________________
Isn't it nice when things just work?

Последний раз редактировалось macklakov; 12.08.2016 в 04:34.
Старый 12.08.2016, 11:22   #14  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,510 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Цитата:
Сообщение от macklakov Посмотреть сообщение
Код может и оставят доступным для чтения, в качестве документации к продукту. Но контролировать код они хотят полностью. Тогда они смогут, к примеру, давать обоснованные гарантии клиентам.
Если так, то возникает логичный вопрос - зачем вообще давать возможность разработки? К тому же обоснованные гарантии ничто не мешало и раньше давать - код на sys-слое всё равно никто править не мог.
Моё мнение такое, что в МС об этом просто не подумали когда делали семёрку. Рассудили, что все изменения будут вешаться на ивенты. И забыли, что далеко не везде ивенты можно вешать по умолчанию. В результате и получили нерасширяемость номерных серий.

Кстати, если кому интересно - нашёлся ОДИН (!!!!!) модуль - General Ledger - который таки расширяемый по номерным. Временно пользуем его. Почему именно там поставили хук - загадка.
__________________
С уважением,
Вячеслав
За это сообщение автора поблагодарили: Lemming (5), gl00mie (3).
Теги
ax7

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Номерная серия,,, превышена. tolstjak DAX: Функционал 28 14.01.2013 20:06
Номерная серия konopello DAX: Программирование 11 02.10.2007 12:00
Номерная серия в виртуальной компании Владимир Максимов DAX: Программирование 2 22.12.2005 12:52
Номерная серия требование-накладная loka DAX: Функционал 2 15.06.2005 13:14
Новая номерная серия Corky DAX: Программирование 3 17.05.2004 09:02
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:59.