|
![]() |
#1 |
Участник
|
Цитата:
В args eсть ссылка на вызывающий объект - args.caller(). В вашем случае в качестве вызывающего объекта выступает FormRun. Последний раз редактировалось S.Kuskov; 31.03.2011 в 19:02. |
|
![]() |
#2 |
Участник
|
Всё правильно, я также делаю - обычно для классов типа "Proposal", у которого задача заполнить таблицу дочерними запясими.
Давно уже писал, вроде работает. Сделано так, потому что форма может быть открыта из разных форм, и допустим, если надо знать какой нибудь "параметр", то можно сделать поиск по возможным вариантам. Например, "Invoice" может фильтроваться и от "Дебитора/Кредитора", и также от самой "заготовки" (Sales/PurchTable). X++: /* Finds specific cursor on DS dynalinks */ public static Common findDynalinkTable(tableId _tableId, Common _common) { FormDatasource ds = _common.dataSource(); QueryBuildDatasource qbds; QueryBuildDynalink qbd; Common ret; int i; ; if (ds) { qbds = ds.query().dataSourceTable(_common.tableId); if (qbds) { if (qbds.dynalinkCount()) { for (i=1; i <= qbds.dynalinkCount(); i++) { qbd = qbds.dynalink(i); if (qbd && qbd.cursor().TableId == _tableId) { ret = qbd.cursor(); break; } } } } } return ret; } Последний раз редактировалось Delfins; 31.03.2011 в 19:55. |
|