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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.08.2006, 11:16   #1  
sparur is offline
sparur
Участник
 
334 / 25 (1) +++
Регистрация: 19.05.2006
Цитата:
Сообщение от Roman777
Ваша форма использеут наследник класса InventDimCtrl_Frm по стандартному механизму, описаному по ссылке выше?
Если да, то создайте в классе - наследнике метод, подобный такому:
PHP код:
void initFromCaller()
{
    
// видны на гриде
    
dimParmVisibleGrid.itemIdFlag               true;
    
dimParmVisibleGrid.InventSizeIdFlag         true;
    
dimParmVisibleGrid.InventLocationIdFlag     true;
    
dimParmVisibleGrid.InventGTDIdFlag_RU       true;

    
// не доступны для редактирования
    
dimParmLockedRightClick.ItemIdFlag          true;
    
dimParmLockedRightClick.InventSizeIdFlag    true;
    
dimParmLockedRightClick.InventLocationIdFlagtrue;
    
dimParmLockedRightClick.InventGTDIdFlag_RU  true;

    
dimParmEnabled.InventLocationIdFlag true;


Вызовите его в Init() вашей формы:
PHP код:
element.inventDimSetupObject().initFromCaller(); 

да, пробую по стандартному механизму, однако не получается вызывать метод updateDesign в инете формы, так как описано в статье ругается при создании объекта могего класса наследника... т.к. при создании объекта передается только форма(element) а в методе new нужен еще и объект типа InventMovement... где его брать понять не могу...

Последний раз редактировалось sparur; 21.08.2006 в 11:18.
Старый 21.08.2006, 11:32   #2  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2480 (88) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от sparur
да, пробую по стандартному механизму, однако не получается вызывать метод updateDesign в инете формы, так как описано в статье ругается при создании объекта могего класса наследника... т.к. при создании объекта передается только форма(element) а в методе new нужен еще и объект типа InventMovement... где его брать понять не могу...
X++:
    InventMovement _movement = InventMovement::Construct(inventJournalTrans);
   InventTable inventTable;
;
   switch ( mode )
   {
      case InventDimFormDesignUpdate::Init :
         if ( !inventDimFormSetup )
            inventDimFormSetup = new InventDimCtrl_Frm_*( element, _movement);
         inventDimFormSetup.parmSkipOnHandLookUp( true );
         // do continue
Надо бы делать так
Кстати, если наследоваться от InventDimCtrl_Frm, то надо так же переопределять метод mustShowGridField(), как, например, в классе InventDimCtrl_Frm_Mov, иначе, просто, не будет привязки к таблице настроек, а все будет зашито в коде
__________________
Axapta v.3.0 sp5 kr2
Старый 21.08.2006, 11:48   #3  
sparur is offline
sparur
Участник
 
334 / 25 (1) +++
Регистрация: 19.05.2006
Цитата:
Сообщение от AndyD
X++:
    InventMovement _movement = InventMovement::Construct(inventJournalTrans);
   InventTable inventTable;
;
   switch ( mode )
   {
      case InventDimFormDesignUpdate::Init :
         if ( !inventDimFormSetup )
            inventDimFormSetup = new InventDimCtrl_Frm_*( element, _movement);
         inventDimFormSetup.parmSkipOnHandLookUp( true );
         // do continue
Надо бы делать так
Кстати, если наследоваться от InventDimCtrl_Frm, то надо так же переопределять метод mustShowGridField(), как, например, в классе InventDimCtrl_Frm_Mov, иначе, просто, не будет привязки к таблице настроек, а все будет зашито в коде
ага, с этим уже разобрался... теперь другая проблема, так как в стандартном механизме стоит так что сразу после кейса Init выполняется кейс Active ( отсутствует) break,
case InventDimFormDesignUpdate::Init :
if ( !inventDimFormSetup )
inventDimFormSetup = new InventDimCtrl_Frm_Mov_Copy(element,movement);
inventDimFormSetup.parmSkipOnHandLookUp( true );
// do continue
case InventDimFormDesignUpdate::Active :
inventTable = InventTable::find(inventJournalTrans.itemId);
inventDimFormSetup.formActiveSetup(inventTable.dimGroupId);
inventDimFormSetup.formSetControls(true);
break;

то вылезает другая проблема, а именно мы вызываем updatedesign() в методе Init нашей формы, в этот момент к сожалению еще не известна номенклатура и объект InventTable не определен (inventTable = InventTable::find(inventJournalTrans.itemId)) в итоге мы имеем ошибку (или она имеет нас )
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
вопрос про дату в range. помогите разобраться. Hans DAX: Программирование 5 24.04.2007 17:52
Помогите плиз отсортировать данные в печатной форме накладной lev DAX: Программирование 8 16.06.2006 18:30
Помогите разобраться с edit-методом mashaSi DAX: Программирование 4 08.06.2006 07:19
Помогите разобраться с полем OprNum в BOM! ravil DAX: Программирование 4 29.07.2003 11:15
Журналы, пакеты... Помогите разобраться! dmit2604 DAX: Функционал 1 07.05.2002 21:53

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

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

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