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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.06.2004, 12:50   #21  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Пример.
Ладно, поостыл немного... Т.к. данный ресус предназначен не только для филосовских изысканий, ругани и издевательств над башколовами, но и для того, чтобы поделиться опытом, вот маленький пример:

На основной форме при каком-то событии (например, при переходе на определенный tab) должна открываться дополнительная форма. Пример... пожалуй, на EmplTable - люблю её использовать для примеров и экспериментов... ничего важного на тестовой базе не прибъешь

1) Правим подчиненную форму, которая используется для вывода дополнительной информации.
1.1. В init е после удачной инициализации устанавливаем глобальную переменную:
PHP код:
public void init()
{
    
SysGlobalCache          globalCache;
    ;

    
globalCache classFactory.globalCache();

    
// какая - либо инициализация. допустим, выбираем сотрудника, 
    // к которому относиться подчиненная форма. (у которой есть
    // переменная типа EmplTable)
    
if (element.args().dataset() == tablenum(EmplTable))
    {
        
emplTable element.args().record();
    }
    else
    {
        
select firstfast firstonly RecId,EmplId
            from  emplTable
            where emplTable
.UserId == curuserid();
    }

    if (
emplTable.RecId == 0)
        throw 
error(strfmt("@SYS25516",element.name()));

    
super();
    
// если все нормально, то ставим некоторую переменную в true
    
globalCache.set(formstr(EmplTable), 11);

1.2 Не забываем сбросить её по закрытию формы.
PHP код:
public void close()
{
    
SysGlobalCache globalCache;
    ;
    
globalCache.set(formstr(EmplTable), 10);

Теперь на основной форме при вызове подчиненной осуществляем проверку
PHP код:
public void pageActivated()
{
    
Args            args = new Args();
    
FormRun         formRun;
    
SysGlobalCache  globalCache;
    
int             ret;
    ;
    
globalCache classFactory.globalCache();
    
ret globalCache.get(formstr(EmplTable), 10);

    if (
emplTable.EmplId)
    {
        
args.name(formStr(Имя_Дополнительной_Формы));
        
args.record(emplTable);

        
formRun classFactory.formRunClass(args);

        if(
formRun && ret == 0)
        {
            
formRun.init();
            
formRun.run();
            
formRun.wait();
        }
    }

Поправьте, плиз, если чего не так: писалось на скорую руку, правда по мотивам основной модификации.
Удачи!
Старый 02.09.2004, 08:28   #22  
djoker is offline
djoker
Участник
Аватар для djoker
 
83 / 10 (1) +
Регистрация: 28.05.2004
Адрес: Красноярск
Thumbs up
Спасибо всем кто пытался помочь, но я уже сам разобрался и сделал почти так,как написал mazzy
Старый 07.09.2004, 11:11   #23  
wb is offline
wb
Участник
 
86 / 16 (1) ++
Регистрация: 26.01.2004
Адрес: Краснодар
to George Nordic

Добрый день,
маленький вопрос. А как учитывается ситуация, когда пользователь открыл форму и произошел сбой ОС, получиться что флаг останется установленным? Больше ему такое окно не открыть?

Спасибо.
wb
Старый 07.09.2004, 11:20   #24  
xonix is offline
xonix
Участник
 
360 / 11 (1) +
Регистрация: 25.08.2004
Ага.. А что если проц в этот момент перегорел!! Тоже окна не открыть....
2 wb
Сбой ОС -> перезагрузка компа -> перезапуск клиента Аксапты -> сброс кэша -> окно можно открыть
Теги
глобальная переменная

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Глобальные переменные Максим П. DAX: Программирование 6 04.07.2007 09:59
axaptabuilder: How to build Axapta application from XPO files stored in Visual Source Safe. Blog bot DAX Blogs 0 12.04.2007 16:10
axaptabuilder: How to setup Axapta batch server running as user defined windows service Blog bot DAX Blogs 0 28.10.2006 16:47
Работа хозрасчетными департаментами компании в Axapta. Есть или нет? Andy J. DAX: Функционал 3 28.03.2005 00:33
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

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

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

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