Показать сообщение отдельно
Старый 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% налогом, подскажите!