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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.01.2006, 17:59   #6  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,342 / 3563 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
2topgun:
Есть понятие Best Practice. Это рекомендации по стилю программирования. Им не всегда следуют, не все следуют, однако следует учитывать:
1. Сам факт наличия Best Practice означает что Аксапта заточена под определенный механизм решения проблем. И отклонение от Best Practice может приводить к выявлению ряда случаев когда Аксапта "глючит". При максимальном следовании Best Practice - ни пользователь ни программист не будут сталкиваться (ну или максимально редко) с неожиданными никому неизвестными невоспроизводимым поведением.
2. Ваш код могут читать впоследствии другие люди. Которым привычен Best Practice. И Ваше отклонение - только затруднит чтение.

Резюме:
Что предлагал Юра (macklakov):
Идем в форму - доходим до контрольки (MenuItemButton), перекрываем метод clicked, пишем код:
X++:
        super();
        MyDataSource_ds.executeQuery(); // Или reread, refresh
При этом к MenuItemButton прилеплена менюшка, вызывающая класс. Обычно (согласно Best Practice) - этот класс должен вызываться на сервере - тк подразумевает себе некую обработку, а если есть обработка - значит она д.б. на сервере. И с сервера обращаться к форме (к клиенту) - не есть правильно.

Что имелось ввиду под фразой "это используется сплошь и рядом":
Аксапту писали люди. Не везде следуя единому стилю. Местами даже может быть криво. Местами - нормально. Поэтому:
Если изначально создается новая форма, к ней новый класс и т.д. - то нужно следовать рекомендациям Best Practice.
Если приходится править уже написанный код (как в этом случае) - то в каждом случае надо разбираться отдельно и стараться сделать в стиле уже написанного кода не забывая про производительность (клиент-сервер). Но по возможности следует вспоминать про Best Practice
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 11.01.2006 в 18:03.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как программно добавить DataSource в процессе работы формы Владимир Максимов DAX: Программирование 1 29.11.2006 18:28
обращение к методам датасоурса формы из класса simply DAX: Программирование 5 03.06.2004 12:02
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Как получить доступ к записям в Datasource отчета? Anton Sk. DAX: Программирование 1 05.06.2002 15:43
Как получить доступ к текущей строке в DataSource формы Maxim Gorbunov DAX: База знаний и проекты 0 28.11.2001 13:46

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

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

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