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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.05.2014, 12:54   #1  
twilight is offline
twilight
MCTS
MCBMSS
 
882 / 237 (9) ++++++
Регистрация: 17.10.2004
Адрес: Королёв
В OLAP стало проще работать с датой, так как теперь Аксапта генерит собственные таблицы для дат (раньше использовалось стандартное измерение времени в OLAP), которые можно модифицировать как угодно по своему усмотрению.
__________________
I could tell you, but then I would have to bill you.
Старый 28.05.2014, 14:06   #2  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Регистрация: 27.11.2003
По-моему, происходит некоторая подмена понятий.

В категорию "сложно" автоматом записали все, что стало "по-другому". А это далеко не одно и тоже. Имхо, очень многие вещи стали действительно проще, но "по-другому".

Например:

Использование шаблонов форм, создание типичных форм сейчас стало проще и быстрее.

Использовать SysOperation, как оказалось, действительно проще и быстрее, чем RunBase. Особенно, добавив несколько своих атрибутов для стандартных задач (например, SysOperationControlAllowEditAttribute)

Написание excel-отчетов используя XmlExcelReport_RU стало в разы проще и быстрее.

Создание Date-Effective таблиц стало проще и быстрее.

Архитектура финансовых аналитик стала сложнее, но для 90% практических задач трудоемкость практически не изменилась. А если взять довольно часто встречающуюся задачу отражения какого-либо справочника системы в фин. аналитику, то сделать это стало значительно проще и быстрее.

В общем, да, очень много стало по-другому. Но это != сложно.
__________________
Dynamics AX Experience
За это сообщение автора поблагодарили: EVGL (2), Logger (3), S.Kuskov (2).
Старый 28.05.2014, 14:18   #3  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от CDR Посмотреть сообщение
Использование шаблонов форм, создание типичных форм сейчас стало проще и быстрее.
Да, только теперь надо расцвечивать каждую кнопку. Если делать это всерьез, требуется новый ресурс - дизайнер/художник.
Радикально упростился апгред форм, зато это компенсируется практической невозможностью апгрейта отчетов.

Цитата:
Сообщение от CDR Посмотреть сообщение
Использовать SysOperation, как оказалось, действительно проще и быстрее, чем RunBase. Особенно, добавив несколько своих атрибутов для стандартных задач (например, SysOperationControlAllowEditAttribute)
Во многом проще и определенно технологичнее, но чем-то сложнее, т.к. появляются траблы с отладкой и надо писать три класса вместо одного.

Последний раз редактировалось EVGL; 28.05.2014 в 14:24.
Старый 28.05.2014, 15:25   #4  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от EVGL Посмотреть сообщение
надо писать три класса вместо одного.
От двух (контракт, действие) до четырех (контракт, контроллер, действие, UI builder).
А почему трудоёмчее написать три класса, чем один в котором все вперемешку?
Старый 28.05.2014, 15:46   #5  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,960 / 3246 (116) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от belugin Посмотреть сообщение
От двух (контракт, действие) до четырех (контракт, контроллер, действие, UI builder).
А почему трудоёмчее написать три класса, чем один в котором все вперемешку?
Дольше вникать в чем смысл.
Дольше их все собирать в кучку чтобы окинуть взором и составить представление что же они делают.
Старый 28.05.2014, 16:16   #6  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от Logger Посмотреть сообщение
Дольше вникать в чем смысл.
Дольше их все собирать в кучку чтобы окинуть взором и составить представление что же они делают.
По-моему, когда разложено по полочкам, вникать в чем смысл проще: в контракте и UI builder не будешь искать бизнес логику. понятно какие переменные используются как параметры, а какие только во время выполнения для временных надобностей.
Старый 28.05.2014, 16:19   #7  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,960 / 3246 (116) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от belugin Посмотреть сообщение
По-моему, когда разложено по полочкам, вникать в чем смысл проще: в контракте и UI builder не будешь искать бизнес логику. понятно какие переменные используются как параметры, а какие только во время выполнения для временных надобностей.
Да это так. Но это не противоречит тому что я сказал.

А что в runBase разве не разложено по полочкам ?
Нужен интерфейс ?
Сразу смотришь методы dialog getFromDialog и.т.п.

Нужна логика работы ?
Смотришь run

и.т.п.

Какая разница как методы разбросаны по классам ?
Старый 28.05.2014, 15:45   #8  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от CDR Посмотреть сообщение
По-моему, происходит некоторая подмена понятий.

В категорию "сложно" автоматом записали все, что стало "по-другому". А это далеко не одно и тоже. Имхо, очень многие вещи стали действительно проще, но "по-другому".
Слово "проще" появилось не с самого начала. Изначально тема возникла из моего видения, что разработчик в AX 2012 потратит больше времени на аналогичную задачу. При этом я могу судить по десяткам разработчиков и десятку проектов, к которым я имею непосредственное отношение.


Цитата:
Сообщение от CDR Посмотреть сообщение
Использование шаблонов форм, создание типичных форм сейчас стало проще и быстрее.
Не соглашусь. Одни кнопки чего стоят. А если делать "красивые" формы как в стандарте (ListPage), то это намного больше времени. И дело не в программисте, технологии или еще чем - просто в AX 2012 теперь так.

Цитата:
Сообщение от CDR Посмотреть сообщение
Написание excel-отчетов используя XmlExcelReport_RU стало в разы проще и быстрее.
У всех уважаемых разработчиков давно есть свое семейство классов для таких отчетов. Но, это локализация. А все остальные репорты в RS - с ним разбираться с нуля очень сложно, для многих очень-очень сложно.

Цитата:
Сообщение от CDR Посмотреть сообщение
Создание Date-Effective таблиц стало проще и быстрее.
На практике можно реальный пример, где это нужно? Не с точки зрения разработчика, а требований функциональности.

Цитата:
Сообщение от CDR Посмотреть сообщение
Архитектура финансовых аналитик стала сложнее, но для 90% практических задач трудоемкость практически не изменилась. А если взять довольно часто встречающуюся задачу отражения какого-либо справочника системы в фин. аналитику, то сделать это стало значительно проще и быстрее.
Вы уверены? А удаления, апдейты? А просто тестовые данные почистить? А разобраться с ОСВ и понять почему она тормозит? А куча таблиц и вьюх, по которым можно просто историю развития вопроса изучать. Сделали сначала "красиво", а потом - начали костыли расставлять по всей системе, ибо не работало.

Еще раз сформулирую свою мысль. Аналогичный проект AX 2012 первый раз разработчик делает в 1,5 - 2 раза дольше. Второй и дальше - дольше процентов на 20%. По консам похожие цифры.
__________________
Ivanhoe as is..
Старый 28.05.2014, 16:18   #9  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
На практике можно реальный пример, где это нужно? Не с точки зрения разработчика, а требований функциональности.
Недавно делал демо, в котором Blocked для номенклатуры ставился "передним числом", своего рода Product Lifecycle для бедных. Сделал вместо поля таблицу, добавил effectivity и понял, что чудес не бывает: для конкретной задачи все равно пришлось писать код и насиловать интерфейс.

Но, как минимум, теперь есть шаблон для подобных разработок, что хорошо.
Старый 28.05.2014, 16:34   #10  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Регистрация: 27.11.2003
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Слово "проще" появилось не с самого начала. Изначально тема возникла из моего видения, что разработчик в AX 2012 потратит больше времени на аналогичную задачу. При этом я могу судить по десяткам разработчиков и десятку проектов, к которым я имею непосредственное отношение.
Иван, не буду мерятся с тобой проектами, но из "больше времени" никак не следует "больше сложности". Повторю, стало по-другому, но это не значит, что стало сложнее. Понятное дело, что на изучение нового, нужно время и усилия. И тем более понятно, что это нужно учитывать при управлении проектом. Но должны ли такое обучение оплачивать клиенты в виде "сложности" - это уже филосовский вопрос.

Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Не соглашусь. Одни кнопки чего стоят. А если делать "красивые" формы как в стандарте (ListPage), то это намного больше времени. И дело не в программисте, технологии или еще чем - просто в AX 2012 теперь так.
А чего кнопки стоят? Картинку приделать? Так я сейчас наоборот получаю эстетическое удовольствие от этого. В ListPage так же не вижу ничего сложного - квери, простой класс и элементарная форма. Зато получается единый интерфейс.

Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
У всех уважаемых разработчиков давно есть свое семейство классов для таких отчетов.
А также свои панельки, модульчики, скриптики и прочие прибацончики. Это ведь так понятно и просто. А вот научиться пользоваться хотя бы той же системой контроля версий... Неее, это сложно!

Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
А все остальные репорты в RS - с ним разбираться с нуля очень сложно, для многих очень-очень сложно.
Для многих вообще в чем-либо разбираться - это очень-очень сложно.

Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
На практике можно реальный пример, где это нужно? Не с точки зрения разработчика, а требований функциональности.
Везде, где используются поля "Дата С" и/или "Дата По". Это различные ставки, курсы, цены, прайсы, планы, прогнозы и т.п.

Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
А разобраться с ОСВ и понять почему она тормозит?
Разобраться с ОСВ (особенно модульными) и в предыдущих версиях было тем еще челенджем.

Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Еще раз сформулирую свою мысль. Аналогичный проект AX 2012 первый раз разработчик делает в 1,5 - 2 раза дольше. Второй и дальше - дольше процентов на 20%. По консам похожие цифры.
Ну так в итоге стало сложнее в 1,5-2 раза? или на 20%?
__________________
Dynamics AX Experience
За это сообщение автора поблагодарили: kingozzavr (2).
Старый 29.05.2014, 03:37   #11  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Цитата:
Сообщение от CDR Посмотреть сообщение
Везде, где используются поля "Дата С" и/или "Дата По". Это различные ставки, курсы, цены, прайсы, планы, прогнозы и т.п.
вот это все же на мой взгляд немного не верное понимание технологии. это нужно когда сущность может меняться с течением времени, при этом это одна и та-же сущность - например фамилия одного человека. план на январь и план на февраль - это 2 совершенно разные сущности, реализовать это с помощью dateEffective не очень правильно. Т.е. реальное то применение все же крайне ограниченно
За это сообщение автора поблагодарили: Ivanhoe (1), S.Kuskov (1).
Старый 29.05.2014, 13:03   #12  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Регистрация: 27.11.2003
Цитата:
Сообщение от trud Посмотреть сообщение
вот это все же на мой взгляд немного не верное понимание технологии. это нужно когда сущность может меняться с течением времени, при этом это одна и та-же сущность - например фамилия одного человека. план на январь и план на февраль - это 2 совершенно разные сущности, реализовать это с помощью dateEffective не очень правильно. Т.е. реальное то применение все же крайне ограниченно
Какое тонкое понимание технологии, снимаю шляпу.

А если серьезно, то я имел ввиду реализацию какого-либо планового/прогнозного показателя внутри одного плана.

Ну, например, есть оптимистичный план "А" на год. В этом плане прогнозируется среднедневное значение какого-то показателя для определенных интервалов дат. А есть пессимистичный план "Б" на год, в котором этот же показатель прогнозируется немного подругому, и, возможно, для других интервалов дат.

А вообще в AX, как и в любой другой системе, есть объекты, а есть их характеристики. Так вот как только возникает практическая задача хранить изменения какой-либо характеристики во времени (а такие задачи возникают довольно регулярно), то сразу же можно использовать Date-Effective таблицы.

Но это сложно.
Значительно проще по старинке закодировать обычные таблицы историй, значений и пачку методов типа findCurrent(), findOnDate() и т.п.
__________________
Dynamics AX Experience

Последний раз редактировалось CDR; 29.05.2014 в 13:35.
Старый 24.02.2015, 09:32   #13  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5803 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Подниму еще раз тему.
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Сложнее стала система (больше элементов). И бюджеты растут, и требования. Все сложнее. Просто нужно это принять.
С этой точки зрения кажется интересным обсуждение конца 2010-го года В какой системе быстрее вести разработку? AX или NAV:
Цитата:
Сообщение от mazzy Посмотреть сообщение
Определение: "быстрее вести разработку" значит добиваться заранее определенных результатов посредством программирования за меньшее время.
Ответ: быстрее вести разработку в той системе, где связей меньше.
Пояснение: "скорость разработки" зависит не от удобств самой системы, а от количества объектов, которые затрагиваются (прямо или косвенно) данной разработкой.
Следствие: Чем более функционально развитая система, тем больше вероятность зацепить большое количество системных объектов. Тем больше вероятность "медленной" разработки.
Возможно, этим и объясняется увеличение времени на разработку:
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Еще раз сформулирую свою мысль. Аналогичный проект AX 2012 первый раз разработчик делает в 1,5 - 2 раза дольше. Второй и дальше - дольше процентов на 20%. По консам похожие цифры.
Старый 24.02.2015, 09:47   #14  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Количество связей зависит так же от качества проектирования (вспомним всякие Law of Demeter).

Также обычно интересуют связи в какой-то выделенной области.
К сожалению, среда X++ не поддерживает разбиение кода на Namespaces/Packages то есть размер областей, на которые можно формально разбить довольно велик + даже, если такое будет сделано, само по себе приложение не разбито на куски с контролируемыми связями и разбиение будет трудоемко.

Еще часть абстракций в 2012 довольно "дырявые" например, для работы с LedgerDimension необходимо знать их внутреннюю структуру + не поддерживается польностью MorphX на уровне остальных типов данных (кроме бросания поля на форму надо еще создавать спецобъекты для управления контролом).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: AX Content: Make Microsoft Dynamics AX 2012 yours! Blog bot DAX Blogs 0 01.10.2013 00:12
atinkerersnotebook: Walkthrough & Tutorial Summary Blog bot DAX Blogs 1 09.09.2013 09:11
Sample Design Patterns: Book Give-away: 'Microsoft Dynamics AX 2012 Security How-To' Blog bot DAX Blogs 0 13.12.2012 01:13
sumitsaxfactor: Reporting Projects–Overview [AX 2012] Blog bot DAX Blogs 0 15.06.2012 17:11
dynamicscpm: Migrating to Management Reporter 2012 Blog bot DAX Blogs 0 24.05.2012 01:13
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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