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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.08.2004, 17:07   #1  
Ratmir is offline
Ratmir
Участник
 
21 / 10 (1) +
Регистрация: 16.08.2004
Адрес: Саратов
Добавление формы на диалог
Подскажите, пожалуйста, как свою форму добавить на диалог.

Заранее благодарен, Ратмир.
Старый 18.08.2004, 17:08   #2  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
На какой диалог?
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 18.08.2004, 17:14   #3  
Ratmir is offline
Ratmir
Участник
 
21 / 10 (1) +
Регистрация: 16.08.2004
Адрес: Саратов
Диалог класса, запускающего отчет.

Смысл: на диалоге должно быть три комбобокса, в зависимости от значения первого из которых, становятся доступным второй или третий.
Старый 18.08.2004, 17:16   #4  
AlexUnik is offline
AlexUnik
Участник
 
199 / 22 (1) +++
Регистрация: 01.06.2004
Адрес: Королёв
Если я правильно понял Вас, лучше поступить наоборот - вызывать форму, в ней запрашивать параметры, по кнопке "ОК" создавать экземпляр класса, передавать ему введенные в форме параметры через методы класса и запускать его на исполнение.
Старый 18.08.2004, 17:41   #5  
Ratmir is offline
Ratmir
Участник
 
21 / 10 (1) +
Регистрация: 16.08.2004
Адрес: Саратов
Результат должен быть таким:
Если в первом enum - склад, то второй enum недоступен,
если в первом enum - номенклатура, то третий enum недоступен.
Изображения
 
Старый 18.08.2004, 17:42   #6  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Регистрация: 26.03.2003
Адрес: Москва
см. класс Tutorial_RunbaseForm
Старый 18.08.2004, 17:45   #7  
Ratmir is offline
Ratmir
Участник
 
21 / 10 (1) +
Регистрация: 16.08.2004
Адрес: Саратов
:(
Я бы с удовольствием посмотрел на этот класс, но у меня его нет.
У меня версия 2.5. Наверное, в ней его нет.
Старый 18.08.2004, 18:35   #8  
Ratmir is offline
Ratmir
Участник
 
21 / 10 (1) +
Регистрация: 16.08.2004
Адрес: Саратов
Спасибо, но там основной код такой:

PHP код:
    dialogRunbase   dialog dialog::newFormnameRunbase(formstr(tutorial_RunbaseForm),this); 
а у меня у диалога нет такого статического метода.
Буду очень признателен, если кто-нибудь его выложит.
Старый 18.08.2004, 19:09   #9  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Насколько я знаю, в 2.5 сделать объекты зависимыми - не получится.

Просто добавь 3 лукапа (в каждом полный список без ограничений), а анализ корректности и совместимости значений делай в методе Validate()
Старый 18.08.2004, 19:16   #10  
Ratmir is offline
Ratmir
Участник
 
21 / 10 (1) +
Регистрация: 16.08.2004
Адрес: Саратов
А можно создать свою форму, полностью заменяющую Dialog?
Если да, то как?
Старый 19.08.2004, 10:16   #11  
AlexUnik is offline
AlexUnik
Участник
 
199 / 22 (1) +++
Регистрация: 01.06.2004
Адрес: Королёв
Об этом я Вам и говорю - делаете форму, рисуете в ней поля со своими методами. Добавляете кнопку, вызывающую Ваш запрос или отчет и обрабатываете в ней событие:
{
Класс_отчета instance = new Класс_Отчета();


instance.взять_параметр(поле_в_форме_1.dateValue());
instance.взять_параметр(поле_в_форме_2.text());
...

instance.run();

super();
}
Старый 19.08.2004, 10:27   #12  
YVAS is offline
YVAS
1C
Аватар для YVAS
1C
 
265 / 10 (1) +
Регистрация: 31.07.2003
Цитата:
Изначально опубликовано Ratmir
на диалоге должно быть три комбобокса, в зависимости от значения первого из которых, становятся доступным второй или третий.
попробуйте посмотреть эту ветку.
http://www.axforum.info/forums/showt...5+%EE%EA%ED%EE
Старый 19.08.2004, 10:27   #13  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Не знаю, как в 2,5... но попробуйте:

PHP код:
    Dialog                      dialog;
    
DialogField                 dlgProdGroupId;
    
ProdGroupId                 prodGroupId "";
    ;

    
dialog          = new Dialog("Имя диалога");
    
dlgProdGroupId  dialog.addField(typeid(ProdGroupID));
    
dialog.run();

    if (
dialog.closedOk())
        
prodGroupId dlgProdGroupId.value(); 
С Уважением,
Георгий.
Старый 19.08.2004, 10:29   #14  
Ratmir is offline
Ratmir
Участник
 
21 / 10 (1) +
Регистрация: 16.08.2004
Адрес: Саратов
AlexUnik, если я правильно понял, то когда я сделаю так, то на моей форме не будет стандартных кнопок (Выбрать и т.д.), а стандартная форма будет вызываться после нее. А нужно, чтобы форма была всего одна.
Старый 19.08.2004, 10:36   #15  
Ratmir is offline
Ratmir
Участник
 
21 / 10 (1) +
Регистрация: 16.08.2004
Адрес: Саратов
2 YVAS
К сожалению, в 2.5 нет метода allowUpdateOnSelectCtrl
Старый 19.08.2004, 11:22   #16  
AlexUnik is offline
AlexUnik
Участник
 
199 / 22 (1) +++
Регистрация: 01.06.2004
Адрес: Королёв
2 Ratmir
Цитата:
когда я сделаю так, то на моей форме не будет стандартных кнопок (Выбрать и т.д.), а стандартная форма будет вызываться после нее. А нужно, чтобы форма была всего одна.
Почему же? Стандартную форму диалога с кнопочкой "Выбор" совсем необязательно вызывать. Функциональность кнопки "Выбор" полезна не во всех случаях. Все параметры следует предусмотреть в первой форме и передавать их в класс отчета. А там в методе RUN формировать необходимый запрос и передавать его отчету.
Старый 19.08.2004, 12:07   #17  
Ratmir is offline
Ratmir
Участник
 
21 / 10 (1) +
Регистрация: 16.08.2004
Адрес: Саратов
Все оказалось очень просто.
Создал свою форму, продублировав Dialog.
На ней создал свои контролы и все обработчики на них,
а в closeOk вызвал все parm-методы своего класса

PHP код:
public Object dialog()
{
    
dialog = new DialogRunBase('',this,formstr(MyDialog));
    
dialog super(dialog);
    return 
dialog;

PHP код:
void closeOk()
{
    
MyClass myClass;

   
_dialog.updateServer();
    if (
_dialog.runBase())
    {
        if (
_dialog.runBase().checkCloseDialog(this))
            
super();

        
myClass _dialog.runBase();
        
myClass.parmDate(DateEdit.dateValue());
    }
    else
        
super();

Теги
dialog, ax2.5, ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Создание Lookup формы Maxim Gorbunov DAX: База знаний и проекты 9 26.06.2007 16:44
Добавление поля в диалог разноски складского журнала. Кирен DAX: Программирование 11 12.02.2007 05:19
Программное добавление range в DataSource формы Lucky13 DAX: Программирование 2 09.02.2007 12:01
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Динамические Lookup формы. Андрей Василюк DAX: База знаний и проекты 0 07.12.2001 07:07

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

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

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