AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.03.2004, 14:24   #1  
sergy is offline
sergy
Участник
 
62 / 10 (1) +
Регистрация: 12.02.2004
Адрес: Воронеж
Расчет суммы по строке заказа (закупки) без налогов
Эта сумма вычисляется в классе Tax, метод baseAmountExclTax.
Как известно берутся те налоги, которые входят и в налоговую группу и в налоговую группу номенклатуры.

X++:
    while select taxGroupData
        where taxGroupData.taxGroup             == _taxGroup
        join taxOnItem
        where taxOnItem.taxItemGroup            == _taxItemGroup     &&
              taxOnItem.taxCode                 == taxGroupData.taxCode {
              tmpTaxWorkTrans
    }
далее строки таблицы tmpTaxWorkTrans анализируются в цикле

X++:
    while select taxDirection, taxCode
          from tmpTaxWorkTrans
          where tmpTaxWorkTrans.exemptTax     == NoYes::No {

        if (tmpTaxWorkTrans.taxDirection== TaxDirection::UseTax) importTax  = true
        ...
        if (taxTable.taxBase == TaxBaseType::AmountByUnit)
        {
            calcTax[counter]      = false;
            simpleBasis = false;
        }
        else
        {
            calcTax[counter]      = true;
            if (taxTable.taxBase != TaxBaseType::PctPerNet &&
                taxTable.taxBase != TaxBaseType::PctGrosOnNet) //OHJ 131299
                simpleBasis = false;
          ...
          if (taxCollectLimit &&
            taxCollectLimit.taxMin != 0 ||
            taxCollectLimit.taxMax != 0)
            collectLimits = true;
        }     
        ....
      select count(taxValue) from taxData
        where taxData.taxCode == tmpTaxWorkTrans.taxCode &&
              ((taxData.taxFromDate <= _taxDate &&
                taxData.taxToDate   >= _taxDate) ||
                ! taxData.taxFromDate);
        if (taxData.taxValue > 1)
            multiplePercentage = true;
        else
        {
            select taxData
            where taxData.taxCode == tmpTaxWorkTrans.taxCode &&
              ((taxData.taxFromDate <= _taxDate &&
                taxData.taxToDate   >= _taxDate) ||
                ! taxData.taxFromDate);
            if (taxData.taxLimitMin || taxData.taxLimitMax)
                simpleBasis = false;
        }
     }
Допустим дерется два налога, например НДС - 18% и НСП - 5%, причем настроенные разным образом. Тогда получатся, что значение флагов simpleBasis ,
multiplePercentage, collectLimits будут определятся настройками последнего налогового кода.

Вопрос! Разве это правильно? Или это такая особенность взимания европейских налогов?

importTax = true; simpleBasis = false; multiplePercentage = true;
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
сумма по строке закупки Nikolaich DAX: Программирование 2 03.04.2007 13:37
Организация работы кладовщика:продажа товаров контрагенту без заказа thyra DAX: Функционал 18 07.04.2006 14:43
Цена на дату создания заказа/закупки George Nordic DAX: Функционал 2 29.06.2005 15:56
Как программно изменить к-во в строке заказа в форме SalesTable BorDark DAX: Программирование 2 13.01.2005 17:02
Резервирование при создании закупки на основе заказа mad_pilot DAX: Функционал 4 27.03.2003 16:57

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:47.