|
06.04.2010, 14:01 | #1 |
Участник
|
Не работает SummaryUpdate
Мне нужно запостить инвойс из кода, предварительно заполнив PurchFormLetter по определенному алгоритму. Это получилось, но мне еще нужно, чтобы один ваучер был для нескольких Purchase order'ов, которые попали в инвойс, и чтобы суммирование шло по InvoiceAccount'у.
При создании экземпляра PurchFormLetter я пишу такое: X++: formLetter = new PurchFormLetter_SpecialInvoice(); formLetter.transDate(systemdateget()); formLetter.specQty(PurchUpdate::All); // manually obtaining ParmId, because it is disabled in PurchFormLetter numSeq = NumberSeq::newGetNum(NumberSeqReference::findReference(typeId2ExtendedTypeId(typeid(ParmId)))); parmId = numSeq.num(); formLetter.parmId(parmId); formLetter.sumBy(AccountOrder::Account); formLetter.createParmUpdate(); ttsbegin; select forupdate firstonly purchParmUpdate where purchParmUpdate.RecId == formLetter.purchParmUpdate().RecId; purchParmUpdate.SumBy = AccountOrder::Account; purchParmUpdate.update(); ttscommit; X++: formLetter.reArrangeNow(true);
formLetter.reArrange();
formLetter.run(); ПризнаЮ, что механизм SummaryUpdate мне не очень знаком, поэтому, возможно, я забиваю гвозди микроскопом. Подскажите, пожалуйста, что может быть не так, что упущено? Последний раз редактировалось Shannon; 06.04.2010 в 14:07. Причина: ошибки |
|
06.04.2010, 16:48 | #2 |
Участник
|
Investigation results…
Похоже, дело в таблице purchParmSubTable и поле ParmId — в purchParmSubTable есть записи, но система их не находит в методе reArrange (query возвращает пустой набор записей).
|
|