Почему обработка СБИС в 1С не выгружает изменения из внешней печатной формы счета-фактуры и как это исправить?

Программист 1С v8.3 (Обычные формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

При использовании интеграционного модуля Sbis1C.epf в нетиповых или устаревших редакциях конфигураций (например, 1С:Бухгалтерия предприятия 2.0 на платформе 1С:Предприятие 8.3 в режиме обычных форм) разработчики часто сталкиваются с ситуацией: в базе 1С подключена внешняя печатная форма (ВПФ) счета-фактуры с новыми обязательными реквизитами (например, «Идентификатор государственного контракта» или указанием новой редакции постановления Правительства РФ № 625), однако при отправке документа через модуль СБИС контрагент получает документ по старой форме либо без заполненных полей. Разберем архитектурные особенности работы модуля ЭДО, выясним причину такого поведения и рассмотрим способы корректной настройки выгрузки.

Архитектурная причина: почему внешняя печатная форма не попадает в ЭДО

Для понимания проблемы проанализируем разницу между локальной печатью и юридически значимым электронным документооборотом:

  1. Разделение XML и графической печатной формы. При формировании формализованного документа (счета-фактуры или универсального передаточного документа) обработка СБИС не считывает табличный документ ТабличныйДокумент из внешней печатной формы. Вместо этого модуль формирует файл обмена в формате XML, утвержденном приказами ФНС России, собирая данные напрямую запросами к метаданным документа СчетФактураВыданный и связанным регистрам.
  2. Формирование визуализации на стороне оператора. Визуальное отображение счета-фактуры в личном кабинете СБИС и при печати из веб-интерфейса строится на стороне сервера оператора ЭДО с помощью XSLT-шаблонов на основе переданного XML-файла.
  3. Отсутствие полей в устаревших метаданных. Если конфигурация не обновлялась, в структуре метаданных документа физически отсутствует реквизит ИдентификаторГосКонтракта (или соответствующее поле в XML — ИдГосКонтр). Внешняя печатная форма лишь выводит статический текст или значение из дополнительных реквизитов в макет, но типовой запрос модуля выгрузки СБИС об этом «не знает».

Вариант 1. Настройка передачи данных для формализованного ЭДО (счет-фактура по формату ФНС)

Если требуется отправлять контрагентам юридически значимый формализованный счет-фактуру по действующему формату ФНС, необходимо обеспечить наличие данных в XML-файле выгрузки. Разберем шаги решения:

  1. Обновление обработки СБИС. Проверим версию используемой обработки Sbis1C.epf. Модуль интеграции содержит актуальные схемы XML и при обновлении автоматически поддерживает работу с новыми реквизитами форматов ФНС.
  2. Организация хранения реквизита в 1С. Если конфигурацию 1С:Бухгалтерия предприятия 2.0 нельзя обновлять стандартно, добавим хранение идентификатора госконтракта:
    - Либо добавив реквизит ИдентификаторГосКонтракта с типом Строка непосредственно в документ СчетФактураВыданный;
    - Либо задействовав типовой механизм дополнительных реквизитов и сведений (план видов характеристик СвойстваОбъектов и регистр сведений ЗначенияСвойствОбъектов).
  3. Кастомизация алгоритмов выгрузки через внешнее расширение. Поскольку основной файл обработки Sbis1C.epf при автоматических обновлениях перезаписывается, дорабатывать его напрямую не рекомендуется. Модуль интеграции СБИС поддерживает подключение внешней обработки расширения с предопределенным именем ВнешниеФункции_Клиент.epf.

Рассмотрим пример программного переопределения данных перед отправкой в модуле объекта обработки ВнешниеФункции_Клиент.epf:


// В обработке "ВнешниеФункции_Клиент.epf"
Функция ПереопределитьДанныеВыгрузки(Контекст, ДанныеДокумента, ДокументСсылка) Экспорт
    
    Если ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.СчетФактураВыданный") Тогда
        // Получаем значение идентификатора госконтракта из добавленного реквизита или свойств
        ИдентификаторГК = "";
        
        // Пример получения из реквизита документа (если реквизит добавлен в метаданные)
        Если ДокументСсылка.Метаданные().Реквизиты.Найти("ИдентификаторГосКонтракта") <> Неопределено Тогда
            ИдентификаторГК = ДокументСсылка.ИдентификаторГосКонтракта;
        КонецЕсли;
        
        // Заполняем соответствующий узел структуры для формирования XML
        Если ЗначениеЗаполнено(ИдентификаторГК) Тогда
            ДанныеДокумента.Вставить("ИдГосКонтр", СокрЛП(ИдентификаторГК));
        КонецЕсли;
    КонецЕсли;
    
    Возврат ДанныеДокумента;
КонецФункции

Вариант 2. Выгрузка неформализованного документа на основе внешней печатной формы

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

  1. В настройках интеграции СБИС перейдем в раздел настройки регламентов и типов документов.
  2. Для требуемого типа исходящего документа изменим режим отправки с «Формализованный XML» на отправку печатной формы (PDF/Excel).
  3. В настройках шаблона печати укажем вызов зарегистрированной в справочнике ДополнительныеВнешниеОбработки внешней печатной формы вместо типового макета конфигурации.

Важное ограничение: отправка счета-фактуры в виде неформализованного графического файла (PDF) не является формализованным электронным счетом-фактурой по правилам Налогового кодекса РФ и не позволяет контрагенту автоматически принять НДС к вычету через книги покупок в формате ФНС. Для официального документооборота счетов-фактур необходимо использовать Вариант 1.

← На главную