Для этого надо воспользоваться табличным методом
findRecord(common _record).
_record – курсор, который можно получить с помощью табличного метода find().
В примере использована таблица LedgerJournalTrans:
1. Метод, который возвращает курсор:
X++:
static LedgerJournalTrans.find(JournalNum journalNum, Voucher voucher, boolean _forUpdate)
{
LedgerJournalTrans ledgerJournalTrans;
if (journalNum && voucher)
{
ledgerJournalTrans.selectForUpdate(_forUpdate);
select ledgerJournalTrans index NumVoucherIdx
where ledgerJournalTrans.journalNum == journalNum &&
ledgerJournalTrans.voucher == voucher;
}
return ledgerJournalTrans;
}
2. Код, в котором мы позиционируем курсор:
X++:
LedgerJournalTrans LJT;
JournalNum JournalNumTMP;
Voucher VoucherTMP;
LedgerJournalTrans cur;
LJT = LedgerJournalTrans_ds.cursor();
JournalNumTMP = LJT.JournalNum;
VoucherTMP = LJT.Voucher;
cur = LedgerJournalTrans::find(JournalNumTMP, VoucherTMP, true);
Какие-то действия над таблицей, которые перемещают курсор
- - - - - - - - - - - - - - - - -- -- - - - - - - - - - - - - - - - - - -- - - - - - - - - - -- -
Метод, который позиционирует курсор на нужном нам месте
X++:
LedgerJournaltrans_ds.findRecord(cur);
Антон Скоробогатов