Насколько я знаю, если в заказе не поставлена цена, а стоит сумма должна браться именно эта сумма.
Теперь допустим мы огружаем номенклатуру количество = 2 по сумме = 1 559,33. Все пройдет правильно. Но когда мы попытаемся отсторнировать это через немедленную поставку, система проведет сумму 1 599,34, потому что будет считать от цены 1 559.33/2 = 779.67(с округлением) 779,67*2 = 1 599,34. И главное никак это не обойти(в отличие от Закупок, там можно перед разноской на форме обработки Накладной в Таблице PurchParmLine сумму ручками поменять, а в Заказах - фига с два, поле AllowEdit = false).Не понятно почему сделано не так как в закупках? В классе обработки закупки сумма считается так :
lineValue =
purchParmLine.lineAmountExclTax(vendInvoiceJour.InvoiceDate);
а в заказах так :
lineValue =
salesLine.calcLineAmountExclTax (updateNow, this.updateDate());
И вот в заказах где-то в глубине этого метода, где-то в классе PriceDisc стоит условие :
X++:
if (qtyNow == qty)
return amount;
else
price = PriceDisc::amount2Price(amount,
discPercent,
markup,
qty,
discAmount,
priceUnit,
currencyCode,
price);
Естественно у меня не будет qtyNow == qty, т.к. qtyNow = -2, а qty = 2.
Считаю, что в заказах сторно через немедленную поставку работает не правильно или я не вижу здесь какой-нибудь хитрый замысел?

P.S. Кстати в трешке такая же хрень