2009, 5.0.1500.6491
Любимая всеми функция удаления строк журналов, класс LedgerJournalDeleteTransaction, девственный слой sys.
кусок main()
X++:
ledgerJournalDeleteTransaction.getLast();
ledgerJournalDeleteTransaction.updateQueryBuild(args.record());
сам updateQueryBuild()
X++:
void updateQueryBuild(LedgerJournalTrans ledgerJournalTrans)
{
;
queryRun.query().dataSourceTable(tablenum(LedgerJournalTrans)).findRange(fieldnum(LedgerJournalTrans,JournalNum)).value(strfmt('%1',ledgerJournalTrans.JournalNum));
queryRun.query().dataSourceTable(tablenum(LedgerJournalTrans)).addRange(fieldnum(LedgerJournalTrans,PaymentStatus)).value(SysQuery::range(CustVendPaymStatus::Rejected, CustVendPaymStatus::Deleted) + ',' + queryValue(CustVendPaymStatus::None));
}
Range по PaymentStatus занимается тупым размножением самого себя при каждом вызове и в один прекрасный момент функция тупо перестает работать ...