Показать сообщение отдельно
Старый 04.06.2009, 14:46   #1  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,970 / 3267 (116) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Метод LineAmountInclTax() на custInvoiceTrans
Коллеги помогите разобраться :
Метод custInvoiceTrans.LineAmountInclTax()

X++:
display LineAmount lineAmountInclTax()
{
    return this.lineAmount + this.lineAmountTax;
}
Судя по названию должен возвращать сумму по строке с НДС.
Но реально поле lineAmountTax заполняется только в случае когда в шапке заказа при обработке была взведена галка InclTax т.е. это поле по смыслу содержит сумму НДС которая была включена в цену. Если цена не включает налог то lineAmountTax - нуль, и метод lineAmountInclTax() возвратит сумму без налога.

Мне кажется правильнее было бы написать так
X++:
display LineAmount lineAmountInclTax()
{
    return this.lineAmount + this.TaxAmount;
}
т.е. поле TaxAmount содержит сумму НДС по строке независимо от того включен налог в цену или нет.
(Правда для того чтобы система заполняла custInvoiceTrans.TaxAmount в настройках должна быть взведена TaxParameters.TaxSpecifyLine - "Налог по каждой строке фактуры" - а она, как правило, взведена)

P.S.
Описал все для Ax3SP5
В Ax2009 lineAmountInclTax() - не меняли. - Должно быть аналогичное поведение, но я не проверял.