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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.11.2004, 14:23   #1  
ATimTim is offline
ATimTim
Участник
 
395 / 13 (1) ++
Регистрация: 10.06.2004
Адрес: Питер
Заказ. Ошибка при добавлении номенклатуры с ТМЦ18
Заказ.
При добавлении номенклатуры возникает ошибка
Ошибка времени выполнения: Индекс массива 0 запрещен.
Такое происходит не со всеми номенклатурами, а с теми у которых указана налоговая группа 18%. (Номенклатура->Ссылки->Налоговая группа номенкл.)
Я воспользовался отладчиком и выявил следующую картину "падежа " =) :
стек :

\Classes\TaxSales\calc - line 112
\Classes\SalesCalcTax_Sales\calcTax - line 12
\Classes\TradeTotals\Calc - line 203
\Classes\SalesTotals\Calc - line 6
\Classes\SalesCreditLimit\calcLine - line 6
\Classes\SalesCreditLimit\calcLineEstimates - line 6
\Data Dictionary\Tables\SalesLine\Methods\calcCreditEstimate - line 5
\Classes\SalesLineType\insert - line 51
\Data Dictionary\Tables\SalesLine\Methods\Insert - line 9
\Classes\FormDataSource\write
\Forms\SalesTable\Data Sources\SalesLine\Methods\write - line 17
\Classes\FormDataSource\Prev
\Classes\FormRun\task
\Classes\SysSetupFormRun\task - line 20

код, вызвавший ошибку
Класс TaxSales, метод calc (выделенно стрелкой)


PHP код:

  
....................................
  if (
amountsInclTaxExist)
        {
            while 
select sum(sourceTaxAmountCur)
            
from taxWorkTrans
            group by sourceRecId
            where taxWorkTrans
.sourceTableId   == salesLineTableId       &&
                  
taxWorkTrans.taxDirection    != TaxDirection::UseTax   &&
                  
taxWorkTrans.taxOrigin       != TaxOrigin::TaxReversed
            
{
=>>  
amountInclTax[taxWorkTrans.sourceRecId]  = currency::amount(amountInclTax[taxWorkTrans.sourceRecId],sourceCurrencyCode);
                
amountExclTax[taxWorkTrans.sourceRecId] = currency::amount(amountExclTax[taxWorkTrans.sourceRecId],sourceCurrencyCode);

...................................................... 
Из отладчика видно, что taxWorkTrans.sourceRecId = 0. Но что это за временная таблица и почему она пуста ?

Понятно, что дело связано с расчетом налогов, но в чем причина пока не пойму. Классы Tax и TaxSales - огромные доселе неизвестные мне зверюги .... Если кто сталкивался с подобным или может быть у кого есть мысли в чем причина особого поведения номенклатур с 18% налогом, подскажите!
Старый 04.11.2004, 14:42   #2  
bucken is offline
bucken
Участник
Аватар для bucken
 
259 / 12 (1) ++
Регистрация: 04.09.2003
Адрес: Москва
1) Вообще говоря, если вы попали внуть цилка while select, то это значит что он что то уже выбрал. Т.е. существуют записи в taxWorkTrans. А recid=0 может быть только когда записей нет. Так что тут не то....
2) Внимательно посмотрите настройка налоговый группы 18%. Сравните их с налоговой группой 10%.
ps. информации для размышления мало.
__________________
Уточните значение слов и вы избавите человечество от половины его заблуждений. (Рене Декарт) / Axapta 2.5
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как запостить Заказ на перемещение, если у номенклатуры обязательная дименсия - ячейка rkorchagin DAX: Функционал 8 19.12.2008 11:17
Ошибка с разноской "Заказ на покупку" Kuat DAX: Администрирование 11 09.07.2008 15:56
Ошибка при переименование номенклатуры и не только Роман Кошелев DAX: Функционал 11 22.10.2004 16:51
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Ошибка при переименование номенклатуры и не только Роман Кошелев DAX: База знаний и проекты 0 19.04.2002 20:32

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

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

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