Почему при загрузке поступления через обработку СБИС в 1С:УТ 11 не выставляется признак «Цена включает НДС»?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Налоговый учет Торговля и дистрибуция
← На главную

При интеграции 1С:Управление торговлей 11 с сервисом СБИС через внешнюю обработку ЭДО пользователи часто сталкиваются с ситуацией: при автоматическом формировании входящего документа поступления реквизит включения НДС в цену остается выключенным, хотя в индивидуальном соглашении с поставщиком нужный флаг установлен. При этом если создавать документ вручную, признак подтягивается корректно. Разберем, почему возникает такое поведение и как настроить систему для правильной обработки входящих документов.

Анализируем причины расхождения

Выясним причину, почему данные из соглашения игнорируются при загрузке через ЭДО. Здесь действуют два ключевых фактора:

  1. Формат электронного УПД (требования ФНС): В электронных документах передача сумм по умолчанию регламентирована так, что цена и сумма позиции указываются без налога, а НДС начисляется сверху (графы 4, 5, 8 и 9 XML-файла). Обработка СБИС разбирает файл и принудительно задает порядок расчета НДС сверху (ЦенаВключаетНДС = Ложь). Это делается разработчиками интеграции намеренно, чтобы исключить ошибки округления: обратный расчет налога «из суммы с НДС» в 1С нередко приводит к копеечным расхождениям с оригиналом поставщика.
  2. Программное заполнение в обход клиентской формы: При интерактивном вводе документа срабатывают события управляемой формы, вызывающие пересчет реквизитов ценообразования из соглашения. Модуль СБИС создает документ напрямую в объектной модели на стороне сервера, минуя пользовательский интерфейс, из-за чего логика типового пересчета формы не активируется.

Способ 1. Настройка параметров пересчета НДС в СБИС

Рассмотрим штатные возможности внешней обработки СБИС перед внесением изменений в конфигурацию:

  1. Откроем модуль интеграции СБИС в 1С.
  2. Перейдем в раздел настроек сопоставления и загрузки данных.
  3. Найдем опцию «Пересчитывать НДС по данным 1С».
  4. Проверим установленный режим: переключение между вариантами («Не пересчитывать», «Пересчитывать всегда» или «При незаполненных ставке и сумме») позволяет изменить приоритет данных — отдавать предпочтение расчетам 1С по соглашению либо строго фиксировать суммы поставщика из файла.
  5. Сохраним настройки и выполним тестовую загрузку пакета.

Способ 2. Использование пользовательских алгоритмов СБИС

Если штатный переключатель не дает желаемого результата, разберем по шагам настройку модуля через встроенный механизм расширения логики обработки СБИС:

  1. В интерфейсе интегратора СБИС перейдем в меню пользовательских алгоритмов.
  2. Выберем событие, выполняемое перед записью сформированного документа ПриобретениеТоваровУслуг.
  3. Пропишем проверку условий соглашения и принудительно установим значение реквизита:
    
    Если ЗначениеЗаполнено(Документ1С.Соглашение) Тогда
        Документ1С.ЦенаВключаетНДС = Документ1С.Соглашение.ЦенаВключаетНДС;
    КонецЕсли;
    
  4. При изменении этого флага важно вызвать штатный пересчет табличной части документа, чтобы итоговые суммы по строкам и ставкам не исказились.

Способ 3. Переопределение логики через расширение конфигурации

Проанализируем вариант решения, если вносить правки в алгоритмы самой обработки нежелательно (например, при частом автоматическом обновлении модуля интеграции). Реализуем расширение, не снимая конфигурацию с поддержки:

  1. Создадим новое расширение конфигурации.
  2. Добавим подписку на событие ПередЗаписью для объекта метаданных ДокументОбъект.ПриобретениеТоваровУслуг.
  3. В модуле подписки определим условие: если документ создается обработкой ЭДО и реквизит ЦенаВключаетНДС не соответствует соглашению, скорректируем значение:
    
    Процедура Расш_ПередЗаписьюПриобретениеТоваров(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
        Если Источник.ЭтоНовый() И ЗначениеЗаполнено(Источник.Соглашение) Тогда
            Если Источник.ЦенаВключаетНДС <> Источник.Соглашение.ЦенаВключаетНДС Тогда
                Источник.ЦенаВключаетНДС = Источник.Соглашение.ЦенаВключаетНДС;
            КонецЕсли;
        КонецЕсли;
    КонецПроцедуры
    

Способ 4. Групповая корректировка загруженных документов

Если документы уже поступили в информационную базу и записаны, но еще не проведены в учете, разберем быстрый административный вариант исправления:

  1. Откроем обработку Групповое изменение реквизитов (раздел «НСИ и администрирование» — «Обслуживание» — «Корректировка данных»).
  2. Выберем тип элементов: документ Приобретение товаров и услуг.
  3. Настроим отбор по нужному контрагенту, соглашению и диапазону дат.
  4. В списке доступных реквизитов найдем поле Цена включает НДС (ЦенаВключаетНДС) и установим значение Да.
  5. Выполним пакетное изменение и проведем документы с контролем копеечных остатков.
← На главную