Ошибка в ГТД

1. OlegAr 21 28.11.17 15:42 Сейчас в теме
При распределении возникает такая ситуация, вводим процент таможенной пошлины 5, 57 таможенная сумма и НДС рассчитывается правильно, но стоит изменить процент таможенной пошлины на 5, 59 в последней строке НДС обнуляется. Вопрос, это косяк разработчиков или что то с настройками пользователя. По предварительному анализу, было выяснено, что в алгоритме заложено обнуление результата в случае ошибки округления результата распределения и вся сумма НДС распределяется по предыдущим строкам.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
5. OlegAr 21 28.11.17 17:22 Сейчас в теме
вот тут и зарыта система распределения.

// Если распределили больше чем положено, размазываем погрешность по ближайшим максимальным весам.
  ЗначениеПогрешности = 1 / Pow(10, Точность);
  КоличествоЭлементовПогрешности = -Дельта / ЗначениеПогрешности;
  
  Для Сч = 1 По КоличествоЭлементовПогрешности Цикл 
   МаксимальныйКоэффициент = МаксимальноеЗначениеВМассиве(Коэффициенты);
   Индекс = Коэффициенты.Найти(МаксимальныйКоэффициент);
   Результат[Индекс] = Результат[Индекс] - ЗначениеПогрешности;
   Коэффициенты[Индекс] = 0;
  КонецЦикла;
  
 Иначе 
  // Если Дельта = 0, то все идеально.
 КонецЕсли;
Показать
Остальные ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. OlegAr 21 28.11.17 16:10 Сейчас в теме
ни кого не заинтересовал данный вопрос "косяка" 1С
3. pavel06 2 28.11.17 17:16 Сейчас в теме
(1) Почему по предыдущим строкам?
У вас НДС пропал во второй у Барамунди и в 10-й у тунца.
Вы же не в последней строке процент меняете, а для всей группы товаров.
Вручную просто сумму пошлины выставить не пробовали, не меняя процента с 5,57?
4. OlegAr 21 28.11.17 17:21 Сейчас в теме
(3)руками все можно изменить, но для этого надо сначала где то подсчитать. а для чего тогда документ с расчетом?
6. pavel06 2 28.11.17 17:26 Сейчас в теме
(4) Ну не всегда все корректно работает, я в КА руками правил, когда эти гтд не часто идут. В проценте пошлины погрешность больше, чем в сумме.
5. OlegAr 21 28.11.17 17:22 Сейчас в теме
вот тут и зарыта система распределения.

// Если распределили больше чем положено, размазываем погрешность по ближайшим максимальным весам.
  ЗначениеПогрешности = 1 / Pow(10, Точность);
  КоличествоЭлементовПогрешности = -Дельта / ЗначениеПогрешности;
  
  Для Сч = 1 По КоличествоЭлементовПогрешности Цикл 
   МаксимальныйКоэффициент = МаксимальноеЗначениеВМассиве(Коэффициенты);
   Индекс = Коэффициенты.Найти(МаксимальныйКоэффициент);
   Результат[Индекс] = Результат[Индекс] - ЗначениеПогрешности;
   Коэффициенты[Индекс] = 0;
  КонецЦикла;
  
 Иначе 
  // Если Дельта = 0, то все идеально.
 КонецЕсли;
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот