Показать сообщение отдельно
Старый 30.11.2001, 11:58   #1  
Anton Sk. is offline
Anton Sk.
Участник
 
35 / 11 (1) +
Регистрация: 14.11.2002
Позиционирование курсора на конкретной записи в DataSource на форме
Для этого надо воспользоваться табличным методом 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);
Антон Скоробогатов