Понадобилось вручную подправить несколько десятков номеров ваучеров в неразнесённых журналах, т.к. из-за копирования из другой компании номера задвоились. Написал левой ногой простенький одноразовый джоб, а он почему-то уходит в бесконечный цикл.
Реально записей таких меньше сотни. При отборе непосредственно из LedgerJournalTrans по RecId всё отлично отрабатывает. Где могут крыться грабли? Или я к полуночи пятницы уже просто зверски туплю?
X++:
static void LJ_VoucherRefresh(Args _args)
{
LedgerJournalTable ljt;
LedgerJournalTrans ljtr;
int num = 212;
;
ttsbegin;
while select ljt where ljt.Posted == false
{
while select forupdate ljtr where ljtr.JournalNum == ljt.JournalNum
{
num++;
ljtr.Voucher = strfmt("V0000%1", num);
ljtr.doUpdate();
}
}
ttscommit;
}
P.S. Стоит SP3 Critical Update 1 Build #9.3, билд ядра #1951.2410/514-193.