Показать сообщение отдельно
Старый 12.04.2011, 10:35   #11  
kornix is offline
kornix
MCP
MCBMSS
Злыдни
Ex AND Project
 
414 / 146 (5) +++++
Регистрация: 24.02.2009
Адрес: Санкт-Петербург
[QUOTE=Raven Melancholic;171974]Если нужно это выполнять из вашего RunBase, а не в методе clicked формы вызова (например, обновление нужно только если нажата ОК, а не Отмена), то можно выполнить что-то подобное в методе main:

Хороший способ, но тогда придется искать запись на которой стоял курсор предложенными выше способами. Иногда это долго.
Предлагаю так:
X++:
static void main(Args _args)
{
    FormDataSource          fdsCaller;
    InventJournalTable        InventJournalTable;
    ...
    if (importEngenie.prompt())
    {
        importEngenie.run();

        if (_args && _args.record() && _args.record().tableId == tablenum(InventJournalTable))
        {
            InventJournalTable = _args.record();

            if(InventJournalTable.isFormDataSource())
            {
                fdsCaller   = InventJournalTable.dataSource();
                fdsCaller.reread();
                fdsCaller.activate(); // Тогда запись перечитается и курсор не слетит с текущей записи в гриде
            }
        }

    }
}

Последний раз редактировалось kornix; 12.04.2011 в 10:40.