Показать сообщение отдельно
Старый 04.10.2007, 17:03   #8  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от Russland Посмотреть сообщение
Табаксом не пользуюсь. Так что даже не представляю как это реализовать. Если знающие могут такое сделать - welcome.
\Classes\QueryBrowser\main
X++:
client static void main(Args _args)
{
    boolean isRunFromTabax()
    {
        return _args.caller() 
               && 
               classIdGet(_args.caller())==classNum(SysSetupFormRun) 
               && 
               _args.caller().name()=='Tabax';
    }

    void processContext(SysContextMenu _context)
    {
        TreeNode node = _context.first();
        Query query = QueryBrowser::treeNode2Query(node);
        if(query)
            new QueryBrowser().run(query);
    }

    void processTabax()
    {
        FormRun currentFormRun = _args.caller().currentFormRun();
        FormDataSource ds;
        if (currentFormRun)
            ds = currentFormRun.dataSource();
        if (ds)
            new QueryBrowser().run(ds.query());
        else
            processContext(_args.caller().currentSysContextMenu());
    }
;
    if (isRunFromTabax())
        processTabax();
    else if (SysContextMenu::startedFrom(_args))
        processContext(_args.parmObject());
}
Изображения
Тип файла: bmp Display_QueryBrowser.bmp (822 байт, 574 просмотров)

Последний раз редактировалось belugin; 04.10.2007 в 17:10. Причина: Рефакторинг