Как исправить ошибку «ОбстоятельстваФормированияСФ» при отправке УПД через ЭДО в 1С?

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

С 1 апреля 2025 года многие пользователи систем 1С столкнулись с невозможностью отправить электронные документы (УПД). При попытке формирования или подписания документа возникает критическая ошибка: «СведенияОСчетеФактуре - ДополнительныеСведенияОбУчастниках - ОбстоятельстваФормированияСФ: Код специальных обстоятельств формирования счета-фактуры не заполняется, если Функция принимает значение, отличное от СЧФ». Проанализируем ситуацию и разберем по шагам, как решить эту техническую проблему.

Почему возникает эта ошибка?

Основная причина кроется в переходе на новый формат УПД версии 5.03 (согласно приказу ФНС № ЕД-7-26/970@). В этом формате существенно ужесточены правила проверки XSD-схемы. В частности, тег ОбстоятельстваФормированияСФ (в XML это СпОбстФСЧФ) имеет строгие условия присутствия:

Выясним причину программного сбоя: в типовых конфигурациях 1С (УТ, КА, ERP, БП, УНФ) модуль формирования XML вставляет этот тег в структуру, даже если он пуст. Новая схема ФНС не допускает наличия даже пустого тега, если он не соответствует функции документа. Рассмотрим подробнее способы исправления этой ситуации.

Решение 1: Установка официальных исправлений (патчей)

Самый простой и правильный путь — установка патчей, выпущенных фирмой 1С. Рассмотрим список актуальных исправлений для разных конфигураций:

  1. Для 1С:Управление нашей фирмой (УНФ 3.0) и 1С:Розница 3.0 — ищите патч EF_00_00712476 или более свежий EF_00_00687314_12.
  2. Для 1С:Бухгалтерия предприятия (БП 3.0) — патч EF_00_00712476.
  3. Для 1С:Управление торговлей (УТ 11), КА 2 и ERP 2 — патчи EF_00_00687314_15, EF_00_00711483 или EF_00_00709086 (в зависимости от релиза).

Важный совет: После установки патча обязательно перезапустите сеанс 1С. Если документ уже был сформирован с ошибкой, удалите черновик электронного документа и сформируйте его заново из документа-основания (Реализации), чтобы дерево данных перестроилось по новым правилам. Если штатное формирование файла не работает даже после правок, можно использовать обработку для исправления выгрузки реализации в XML формата 5.03.

Решение 2: Ручная корректировка кода (для программистов)

Если патчи по какой-то причине недоступны или не подходят для вашей доработанной конфигурации, мы можем внести исправления самостоятельно через расширение или в коде общих модулей. Проанализируем логику исправления. Нам необходимо обернуть вызов процедуры заполнения реквизита в условие проверки функции документа.

В конфигурациях УТ 11, КА 2, ERP 2 найдите общий модуль (например, ОбменСКонтрагентамиУТ или ФорматыЭДО_ФНС) и процедуру, отвечающую за заполнение данных счета-фактуры. Код должен выглядеть следующим образом:


// Было (неправильно):
ЭлектронноеВзаимодействие.ЗаполнитьЗначениеРеквизитаВДереве(ДеревоДанных, 
    ОбщийПуть + "ДополнительныеСведенияОбУчастниках.ОбстоятельстваФормированияСФ", 
    ОбстоятельстваФормированияСФ);

// Стало (правильно):
Если СтруктураЭД.Функция = "СЧФ" Или СтруктураЭД.Функция = "СЧФДОП" Тогда
    Если ЗначениеЗаполнено(ОбстоятельстваФормированияСФ) Тогда
        ЭлектронноеВзаимодействие.ЗаполнитьЗначениеРеквизитаВДереве(ДеревоДанных, 
            ОбщийПуть + "ДополнительныеСведенияОбУчастниках.ОбстоятельстваФормированияСФ", 
            ОбстоятельстваФормированияСФ);
    КонецЕсли;
КонецЕсли;

В конфигурации УНФ 3.0 исправление следует внести в общем модуле УправлениеНебольшойФирмойЭлектронныеДокументыСервер в функции ЗаполнитьОбстоятельстваФормированияУПД:


#Вставка
Если Настройки.Функция = "СЧФ" Или Настройки.Функция = "СЧФДОП" Тогда
#КонецВставки
    ЗаполнитьЗначениеРеквизитаВДереве(ДеревоДанных, 
        ПутьВДереве + "ДополнительныеСведенияОбУчастниках.ОбстоятельстваФормированияСФ", 
        ОбстоятельстваФормированияСФ);
#Вставка
КонецЕсли;
#КонецВставки

Решение 3: Ошибка ИНН ответственного лица

В процессе работы с форматом 5.03 часто «вылезает» вторая ошибка: «Не заполнен ИНН физического лица, которому доверена отгрузка». Это происходит из-за того, что формат 5.03 требует обязательного наличия либо ИНН физлица (отпускающего груз), либо реквизитов документа-основания (доверенности).

Рассмотрим, как это исправить:

  1. Проверьте карточку физического лица (сотрудника), который указан в поле «Отпустил» или «Кладовщик». В 90% случаев у него просто не заполнен ИНН в справочнике.
  2. В качестве временного решения можно очистить поле «Груз отпустил» в настройках печати документа реализации. В этом случае блок СвЛицПер не будет содержать данных о конкретном физлице, и проверка может пройти.

Решение 4: Ошибки в адресах контрагентов

Формат 5.03 крайне чувствителен к заполнению адресов, особенно для иностранных контрагентов и грузоотправителей. Если вы получаете ошибку «Значение не заполнено» в блоке Адрес, выполните следующие действия:

Подведем итоги

Переход на формат УПД 5.03 — это сложный процесс, требующий актуализации программного кода. Если вы столкнулись с ошибкой ОбстоятельстваФормированияСФ, алгоритм действий следующий: сначала пробуем установить все доступные патчи через «Обслуживание — Исправления», если это не помогает — вносим корректировки в условие формирования тега через расширение. Помните, что формат 5.03 не прощает пустых тегов и отсутствующих ИНН у ответственных лиц. Проанализировав структуру XML и внеся указанные правки, вы обеспечите стабильную работу ЭДО в вашей организации. Для пакетной перенастройки параметров обмена с контрагентами подойдёт инструмент для обновления настроек отправки документов ЭДО на формат УПД 5.03.

← На главную