Показать сообщение отдельно
Старый 06.02.2013, 23:59   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Всё просто. В args есть специальное свойство для хранения данных типа табличная запись - это args.record(). На передающей стороне заполняем это свойство, а на принимающей читаем.
X++:
void clicked()
{
    Args args = new Args();
    FormRun EditCashOrder;
    str formName = formStr(EditCashOrder);
    ;

    args.name(formName);
    args.caller(element);
    args.record(< >); // <<-- 

    EditCashOrder = classFactory.formRunClass(args);

    EditCashOrder.run();
    EditCashOrder.init();

    EditCashOrder.wait();

    CashTable_ds.executeQuery();

}
В методе init() второй формы:
X++:
...
super();

< > = this.args().record(); // <<--

Каким образом дальше использовать полученный на второй форме курсор - это уже другой вопрос. Я бы создал на второй форме такой же датасорс как и на первой, и отфильтровал бы его по RecId текущей записи.
За это сообщение автора поблагодарили: Pat4kord (1).