Показать сообщение отдельно
Старый 31.03.2008, 10:48   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Кроме того:
Цитата:
Сообщение от 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 может выдать совсем не те суммы, которые будут в накладной, если эта строчка уже частично отгружена.
__________________
полезное на axForum, github, vk, coub.