Содержание

Копеечные расхождения в документах (Контур)

Ситуация

В заказе пришла цена без НДС 114,33, а в ORDRSP отправилась цена 114,32. В DESADV снова отправилась цена 114.33, на что клиент ЯНДЕКС.МАРКЕТ возмутился и отказался принимать такой документ.

Решение быстрое (симптоматичное)

В сообщении подготовленном, но не отправленном, в хранилище, содержащем структуру сообщения EDI исправить цены (таблица Товары) и, упаковав заново структуру в хранилище значения, сохранить и отправить сообщение.

Причина

Изменение копеек вызвано применением расширения «Копеечные расхождения в ценах документа». В это расширении происходит пересчет цен кодом

Строка.ЦенаБезНДС	= Строка.Цена - Окр((?(флСуммаВключаетНДС, Строка.СуммаНДС, 0)/Строка.Количество) , 2, 1);
Строка.ЦенаСНДС		= Строка.Цена + Окр((?(флСуммаВключаетНДС, 0, Строка.СуммаНДС)/Строка.Количество) , 2, 1);

В итоге 137,19 - 457,31 / 20 = 114,3245. Округляем до двух знаков и получаем некорректную цену 114,32.

Решение

Внес коррективы в расширение. Перерасчет цен происходит только в том случае, если не заполнены значения Строка.ЦенБезНДС и Строка.ЦенаСНДС.