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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.04.2004, 10:47   #1  
Хилари is offline
Хилари
Решили жить вечно?
Аватар для Хилари
 
33 / 10 (1) +
Регистрация: 15.04.2004
Перекрытие метод new у формы
Как это сделать правильно?
Старый 27.04.2004, 11:29   #2  
andreynikolai is offline
andreynikolai
Участник
 
133 / 10 (1) +
Регистрация: 11.04.2002
А для чего вам это делать ?
Любые обращения к контролам на форме или элементам dataSource приведут
к возникновению ошибки.

Не лучше ли планируемые действия вынести в другой метод, почему вы именно
избрали new ???
Старый 27.04.2004, 11:41   #3  
Хилари is offline
Хилари
Решили жить вечно?
Аватар для Хилари
 
33 / 10 (1) +
Регистрация: 15.04.2004
Потому что в new передаются args. Производя отладку метода init в отладчике не видно никакого упоминания об args. Однако написав в коде метода init строку: element.args() можно недвусмыслено озадачиться, оказывается все таки есть. Почему тогда args не видно в отладчике в методе init? Вообще многое в Аксапте кажется странным. Догадаться где искать нужное практически невозможно.

Мне удалось разобраться с args при инициализации формы, теперь у меня другая проблема: на моей форме имеется кнопка ссылающаяся на меню из которой вызывается класс, потомок RunBase. Как мне перехватить нажатие кнопки и в args для вызова моего класса изменить свойство param?
Старый 27.04.2004, 12:07   #4  
metal is offline
metal
Юзовские
Дети Юза
 
92 / 10 (1) +
Регистрация: 06.08.2002
Адрес: Украина
Вы можете задать свойство parm прямо в свойствах menuItem'a, на который смотрит ваша кнопка.

Не вижу связи с методом new формы.
Старый 27.04.2004, 12:32   #5  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Уважаемая Хилари!

Уточните Вашу задачу, плиз! Так очень тяжело понять, чего именно Вы хотите добиться!
1) Если у Вас по MI вызывается Ваш класс, то зачем Вам менять args??
просто в runе смотрите caller, и, если он Вас чем-то не устраивает, используете свои переметры, вместо переданных в args.
Если форма - то же самое можно сделать и в init е.
2) args из формы видны ВЕЗДЕ: this.args()
другое дело, что они могут быть пустые.
Привильно будет создавать свои args = new Args();
заполнять их и вызывать MenuItem, который запускает данную форму.
Старый 27.04.2004, 13:05   #6  
Хилари is offline
Хилари
Решили жить вечно?
Аватар для Хилари
 
33 / 10 (1) +
Регистрация: 15.04.2004
Задача в обшем была сначала простая потом усложнилась. В начале были две формы, одна зависит от другой: пользователь выбирает на первой запись, нажимает кнопку появляется вторая, с фильтром по выбраной записи в первой форме, например как это сделано в форме поставщики и контактные лица из настроек формы поставщики. Потом во второй форме потребовалось добавить в classDeclaration переменную, в которой сохранялся этот фильтр. Теперь мне нужно далее из второй формы вызвать другой класс и передать ему этот фильтр, чтоб он выполнил своеобразную обработку.
Старый 27.04.2004, 13:21   #7  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Цитата:
Изначально опубликовано Хилари
Задача в обшем была сначала простая потом усложнилась... Потом во второй форме потребовалось добавить в classDeclaration переменную, в которой сохранялся
этот фильтр.
Нет предела совершенству. Скоро от Вас потребуют сохранение данного фильтра для каждого пользователя

Цитата:
Теперь мне нужно далее из второй формы вызвать другой класс и передать ему этот фильтр, чтоб он выполнил своеобразную обработку.
1) Можно вызвать класс через MenuItem, там же передать параметры
2) Можно вызвать класс так:
class myClass = new myClass()
myClass.initFromMyTable(MyParameter);
myClass.run();
3) А можно и сохранить данный параметр в какой-нибудь таблице параметров.
InventParameters или PurchParameters.. Тогда и из настроек модулю тоже можно будет фильтр задавать... Выбор за Вами!

P.S. А с purchLine разобрались?
Старый 27.04.2004, 13:37   #8  
Хилари is offline
Хилари
Решили жить вечно?
Аватар для Хилари
 
33 / 10 (1) +
Регистрация: 15.04.2004
Цитата:
Изначально опубликовано George Nordic
1) Можно вызвать класс через MenuItem, там же передать параметры
2) Можно вызвать класс так:
class myClass = new myClass()
myClass.initFromMyTable(MyParameter);
myClass.run();
Я также думаю, что мне лутче не использовать меню, а вызвать мой класс из простой кнопки на форме (Button) в методе clicked. Правда мой класс потомок RunBase, и я не знаю существуют ли какие-то правила на его вызов. Я знаю что через меню можно вызвать у класса метод main (кажется существуют какие-то шаблоны описанные в Best Practice, но с ними я не разберусь самостоятельно). Возможно от меня потребуют сделать этот клас в будущем RunBaseBatch. Существуют ли какие-то шаблоны на вызов классов или можно просто использовать class myClass = new myClass()?

Кстати, а как передать параметры использую MenuItem, то есть то что вы предлагаете в первом случае?
Цитата:
P.S. А с purchLine разобрались?
Да, спасибо еще раз
Старый 27.04.2004, 13:48   #9  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Изначально опубликовано Хилари
Я также думаю, что мне лутче не использовать меню, а вызвать мой класс из простой кнопки на форме (Button) в методе clicked.
Извините, что вмешиваюсь.
Нет, ни в коем случае не лучше.
Прочтите, наконец, Best Practice.
http://technet.damgaard.com/usered/B..._Practices.htm

половина ваших вопросов отпадет сама собой
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Метод формы cherv DAX: Программирование 2 13.10.2006 10:49
Как можно перекрыть метод контрола формы, создаваемого в runtime? chi DAX: База знаний и проекты 7 16.12.2004 17:48
Метод findValue у источника данных формы demID DAX: Программирование 3 01.10.2004 10:19
Display-метод формы Paul_ST DAX: Программирование 6 11.02.2004 12:14
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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