При внедрении функционала электронных перевозочных документов (ЭПД), в частности «Электронного заказа» или «Электронной транспортной накладной» (ЭТрН), пользователи часто сталкиваются с ситуацией, когда при проверке или попытке отправить документ система выдает ошибку: «Не заполнено поле "Должность"». При этом визуально на форме документа все поля могут быть заполнены, а в карточке организации и физического лица должность указана. Разберем детально, почему возникает эта ошибка, где 1С ищет эти данные и как правильно настроить систему, чтобы валидация проходила успешно. Для пакетного выявления и устранения подобных проблем с реквизитами подойдёт инструмент для проверки готовности базы к ЭТрН и автоматического заполнения полей.
Ошибка с техническим кодом ПодпИнфГО/Должн указывает на конкретный узел в XML-файле электронного документа. Расшифровывается это как «Подписант Информации Грузоотправителя / Должность». Согласно форматам ФНС для электронных перевозочных документов, сведения о должности лица, совершающего операцию, являются обязательными. Проблема заключается в том, что 1С собирает данные для этого узла из нескольких связанных справочников, и отсутствие записи хотя бы в одном из них приводит к прерыванию проверки.
Рассмотрим ситуацию, когда документ оформляет помощник логиста или другой сотрудник, который не является подписантом, но инициирует создание черновика. Даже если он не будет подписывать документ своей КЭП, механизм валидации 1С-ЭДО проверяет полноту данных текущего пользователя, так как он выступает в роли ответственного лица.
Самое неочевидное место, где может скрываться причина — это карточка сертификата электронной подписи. Даже если сотрудник не планирует отправлять документ прямо сейчас, система обращается к его настройкам ЭДО. Разберем по шагам, что нужно проверить:
Часто после обновления конфигурации или при первоначальной настройке эти поля остаются пустыми, так как они не всегда автоматически подтягиваются из кадровых данных сотрудника. После заполнения данных в сертификате следует нажать Записать и закрыть.
Проанализируем кадровый учет. В последних версиях 1С:Управление торговлей 11 механизмы ЭДО стали более требовательными к иерархии данных. Программа ищет должность по следующей цепочке: Пользователь -> Физическое лицо -> Сотрудник -> Кадровое состояние.
Выясним, корректно ли настроены эти связи:
Сотрудник.Сотрудники и проверим наличие актуального приема на работу. Если в программе используется упрощенный кадровый учет, убедимся, что поле Рабочее наименование должности заполнено.Прием на работу.Иногда помогает «перевыбор» данных: очистите поле ответственного в документе «Электронный заказ» и выберите его заново, чтобы сработали обработчики заполнения реквизитов.
Если с личными данными пользователя все в порядке, но ошибка ПодпИнфГО сохраняется, проанализируем настройки самой учетной записи ЭДО. Для этого:
В условиях обязательного использования МЧД для сотрудников, должность лица должна быть зафиксирована в реестре ФНС. Если вы используете МЧД, выполним следующие действия:
В современных релизах 1С предусмотрен гибкий механизм переопределения правил заполнения XML-файлов. Если стандартные методы не помогают, мы можем вмешаться в алгоритм формирования документа:
Электронный заказ.Должность в блоке подписанта.Ответственный.Должность) или выберем Фиксированное значение, если должность у всех оформителей одинаковая.Для программистов, которые хотят отладить процесс и понять, откуда система пытается взять данные, полезно будет посмотреть в сторону общего модуля ЭлектронныеДокументыПеревозочныеЭДО. Там происходит формирование структуры ДанныеДляТитула. Пример кода, который можно использовать во внешней обработке для проверки того, что видит система:
// Пример получения должности для ЭПД
ПараметрыОтбора = Новый Структура("Организация, ФизическоеЛицо", Объект.Организация, Объект.Ответственный.ФизическоеЛицо);
СведенияОСотруднике = КадровыйУчет.ДанныеФизическихЛиц(ПараметрыОтбора, "Должность", ТекущаяДата());
Если СведенияОСотруднике.Количество() > 0 Тогда
ТекДолжность = СведенияОСотруднике[0].Должность;
Сообщить("Найдена должность в кадрах: " + ТекДолжность);
Иначе
Сообщить("Должность в кадровом учете не обнаружена!");
КонецЕсли;
Важный нюанс: часто ошибка возникает из-за того, что в системе заведено несколько карточек одного и того же физического лица или сотрудника. Обязательно проверьте справочник Физические лица на наличие дублей. Если пользователь привязан к одной карточке, а должность указана в другой — система не увидит эти данные при формировании титула ПодпИнфГО.
Чтобы окончательно победить ошибку «Не заполнено поле Должность», мы рекомендуем последовательно проверить три «слоя» данных:
Как показывает практика, в 90% случаев проблема решается именно через настройки сертификата в справочнике Сертификаты ключей электронной подписи и шифрования, так как именно этот справочник является приоритетным источником данных для формирования XML-титулов в 1С-ЭПД.