Попробую упрастить себе задачу. Пусть есть форма с информацией из VendTrans и на форме есть кнопка, при нажатии на которую я должен переходить на одну из форм - LedgerJournalTransVendPayment или VendInvoiceJournal в зависимости от вида проводки. Причем на открытой форме должен показываться только тот документ, который вызвал эту проводку.
Тогда может при нажатии на кнопку определять какую из форм открывать, ну например так:
PHP код:
void clicked()
{
QueryRun qr;
VendTrans vt;
VendInvoiceJour vij;
LedgerJournalTrans ljt;
Voucher vch;
int type;
;
super();
qr = VendTrans_ds.queryRun();
vt = qr.get(tableNum(VendTrans));
print vt.Voucher;
vch = vt.Voucher;
select * from vij where vij.LedgerVoucher == vch;
select * from ljt where ljt.Voucher == vch;
if (vij)
type = 1;
else if (ljt)
type = 2;
else type = 3;
print type;
}
А затем в зависимости от типа вызывать через MenuFunction нужную форму, передавая в Args свой параметр.
Затем в Init() этих двух форм анализировать, откуда они были вызваны. И если причиной их вызова являлась моя форма, то накладывать фильтр на DataSource.
Вроде все звучит логично, но для решения такой простой задачи выглядит слишком громоздко.
Что Вы думаете насчет этого ?