Кроме того:
Цитата:
Сообщение от
CasperSKY
X++:
display real nds18()
{
while select ...
{
if (nds=='НДС18'){
nds18 = SalesLine.LineAmount;
}
}
return nds18 ;
}
1. Даже если вы поставите правильное условие, этот код вернет вам НДС ПОСЛЕДНЕЙ строки, а не НДС по всему заказу.
2. предельно внимательно относитесь к производительности display-методов. Обращение к базе данных (select) внутри display-метода скорее всего приведет к диким тормозам, если вы будете этот метод показывать в гриде.
3. SalesLine.LineAmount - это чистая сумма, сумма безо всяких налогов.
4. заказ бывает частично отгруженный. Поэтому обращение к SalesLine.LineAmount может выдать совсем не те суммы, которые будут в накладной, если эта строчка уже частично отгружена.