Цитата:
Сообщение от
zinius
Как они могут получить одинаковый LineNum? ведь первичный ключ должен закрывать эту возможность - JournalNum, LineNum
Могут. Форма CustFreeInvoice. Таблица CustInvoiceLine. Индекс ParentRecIdIdx AllowDuplicate = Yes. Других индексов нет.
Цитата:
Сообщение от
mazzy
Скорее всего, LineNum там все-таки разный, но отличается в пятом-шестом-седьмом знаках. Аксапта показывает округленные значения. Но на сравнение все равно влияют все значящие цифры. Скорее всего, причина бага в другом.
Они были одинаковыми. Вот такой Job
X++:
static void Job157(Args _args)
{
CustInvoiceLine custInvoiceLine;
;
while select count(ReciD) from custInvoiceLine index hint ParentRecIdIdx group by LineNum
where custInvoiceLine.ParentRecId == 8484848
{
if(custInvoiceLine.RecId > 1)
warning(strFmt("%1", custInvoiceLine.RecId));
}
}
Выдавал 2, 3, 7, я думаю в данном случае при group by округления не было.
Цитата:
Сообщение от
mazzy
Скорее всего, причина бага в другом.
После того как job-ом сделали уникальным LineNum в рамках ParentRecId, проблема исчезла.