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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.10.2012, 09:45   #21  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Пять копеек:

- налицо уход от темы, КМК. Макросы - это, конечно, здорово, "принцип разумной достаточности" при их применении - безусловно, должен соблюдаться. И InventDimJoin и код, построенный целиком на макросах, приведенный выше, безусловно, все же разные вещи , но речь изначально была не о том.
- "Программы пишутся для людей" (откуда? ). В этом смысле код, написанный "в стиле системы", безусловно, предпочтителен. Как в армии - "безобразно, но единообразно". Иначе (в пределе) получается вариант бессмертных "лебедя, рака и щуки".
- В принципе, все уже сказано в заголовке темы. Думаю, мало кому захочется это оспаривать, и еще меньше тех, у кого это получится.
__________________
Best Regards,
Roman
Старый 01.10.2012, 10:19   #22  
imir is offline
imir
Участник
 
159 / 161 (6) ++++++
Регистрация: 28.05.2010
Цитата:
Сообщение от pitersky Посмотреть сообщение
не знаю. мне лично #InventDimJoin читать намного удобнее, чем многоэтажный прямой джойн инвентдима. особенно когда он стопиццот раз повторяется в разных местах.
нужно соблюдать принцип разумной достаточности, а не бросаться в крайности
Его легко переделать на query, динамически собираемый в коде, просто кто-то один раз связался с этой конструкцией и тащится она с 2.5-й версии
За это сообщение автора поблагодарили: sukhanchik (2).
Старый 01.10.2012, 11:35   #23  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,510 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Цитата:
Сообщение от imir Посмотреть сообщение
Его легко переделать на query, динамически собираемый в коде, просто кто-то один раз связался с этой конструкцией и тащится она с 2.5-й версии
переделать легко, только читаться такой Query будет ещё тяжелее, чем джойн
да и нет смысла писать отдельный Query для ситуации, в которой тридцать раз до тебя уже использовали макрос (это к слову о единообразии).
__________________
С уважением,
Вячеслав
Старый 01.10.2012, 12:32   #24  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,202 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Цитата:
Сообщение от pitersky Посмотреть сообщение
мне лично #InventDimJoin читать намного удобнее, чем многоэтажный прямой джойн инвентдима.
Если в этом запросе должна была быть другая табличная переменная для InventDim, а InventDim тоже есть но используется в другом месте, а кто-то по привычке зафигачил в запрос #InventDimJoin, то результат представить не трудно. Причем замучаетесь искать, в чем проблема. Так что макросы лучше только для констант использовать.
Старый 01.10.2012, 13:25   #25  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,732 / 406 (17) +++++++
Регистрация: 23.03.2006
Цитата:
Сообщение от Zabr Посмотреть сообщение
Если в этом запросе должна была быть другая табличная переменная для InventDim, а InventDim тоже есть но используется в другом месте, а кто-то по привычке зафигачил в запрос #InventDimJoin, то результат представить не трудно. Причем замучаетесь искать, в чем проблема. Так что макросы лучше только для констант использовать.
вообще-то в макрос передаются имена переменных
Старый 01.10.2012, 14:16   #26  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,510 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Цитата:
Сообщение от Zabr Посмотреть сообщение
Если в этом запросе должна была быть другая табличная переменная для InventDim, а InventDim тоже есть но используется в другом месте, а кто-то по привычке зафигачил в запрос #InventDimJoin, то результат представить не трудно. Причем замучаетесь искать, в чем проблема. Так что макросы лучше только для констант использовать.
На мой взгляд, это не самая большая проблема, причём я не совсем понимаю трудности с локализацией ошибки - по-моему, это как раз отыскивается достаточно быстро. Большая проблема - это когда макросы регулярно создаются для разовых вставок или когда в макрос забабахивают сильно параметризуемую логику (это да, сложно и неудобно поддерживать). #InventDimJoin - макрос достаточно прозрачный и простой в применении, поэтому в его использовании я не вижу ничего фундаментально плохого (особенно тогда, когда это часть стиля приложения).
Словом, везде нужна мера и разумность.
__________________
С уважением,
Вячеслав
Старый 01.10.2012, 14:57   #27  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Кстати, вспомнил удобный макрос #InventDimDevelop, только почему то именно про него частенько забывают, и не добавляют там где надо...

P.S. интересно, в AX2012 появился макрос #FinancialDimDevelop?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
За это сообщение автора поблагодарили: macklakov (3).
Старый 02.10.2012, 07:04   #28  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,510 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Цитата:
Сообщение от lev Посмотреть сообщение
Кстати, вспомнил удобный макрос #InventDimDevelop, только почему то именно про него частенько забывают, и не добавляют там где надо...

P.S. интересно, в AX2012 появился макрос #FinancialDimDevelop?
В 2012 такого пока нету
а #InventDimDevelop там пустой. так что может и хорошо, что его активно не использовали
__________________
С уважением,
Вячеслав
Старый 02.10.2012, 09:36   #29  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от pitersky Посмотреть сообщение
#InventDimDevelop там пустой. так что может и хорошо, что его активно не использовали
InventDimDevelop : /* used to locate code with direct dimension references */

Он всегда был "пустой"..

===

Полезен при добавлении Dimension-а. Только вот не везде его MSBS аккуратно ставил. Началось с добавления ГТД, уже там были "пропуски". В 2012-й, как я понял, "пропусков" будет больше.. жаль..
__________________
Best Regards,
Roman

Последний раз редактировалось RVS; 02.10.2012 в 09:38.
За это сообщение автора поблагодарили: lev (3).
Старый 11.04.2013, 10:52   #30  
Romb is offline
Romb
Участник
Аватар для Romb
 
79 / 22 (1) +++
Регистрация: 06.01.2004
Придерживаюсь следующих убеждений в большинстве случаев.

Если макрос можно заменить inline функцией с похожим или даже идентичным кодом, значит его использование лишнее.

И наоборот.

Если макрос нельзя заменить inline функцией с похожим или даже идентичным кодом, значит макрос применен правильно.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axforum blogs: О заполнении Наименования и Кода номенклатуры в печатной форме Накладной (Ax2009 ru7) Blog bot DAX Blogs 0 07.06.2011 09:11
Помощь в построении кода по присоединению COM объектов в методы класса ZornFire DAX: Программирование 8 06.06.2011 21:40
Получение из поля Map кода поля реальной таблицы, к ней привязанной (Mappings) vey DAX: Функционал 5 16.03.2005 11:16
проблема с настройкой штрихового кода Nic DAX: Функционал 4 27.12.2004 09:04
Использование штрихового кода (barcode) в Аксапта Pavlo AKA Panok DAX: Функционал 9 17.10.2003 15:13

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

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

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