[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(); // Тогда запись перечитается и курсор не слетит с текущей записи в гриде
}
}
}
}