Как заполнить КодАдресФИАС в ЗУП 2.5 при выгрузке реестров больничных?

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

С выходом обновлений для конфигурации Зарплата и управление персоналом 2.5 (начиная с релиза 130.1) пользователи столкнулись с проблемой: при попытке выгрузить реестр сведений для начисления пособий (больничных листов) система выдает критическую ошибку о том, что не заполнен реквизит КодАдресФИАС. Это происходит из-за изменений требований ФСС (ныне СФР) к форматам обмена данными. Поскольку конфигурация ЗУП 2.5 находится на ограниченной поддержке, автоматический механизм конвертации старых кодов КЛАДР в новые GUID ФИАС в ней практически отсутствует.

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

Почему возникла эта проблема и где искать скрытые поля?

Рассмотрим техническую сторону вопроса. Разработчики 1С добавили новые реквизиты в структуру метаданных (справочник ФизическиеЛица и документы по начислению пособий), чтобы соответствовать формату XSD-схемы реестра. Однако в интерфейсе обычных форм ЗУП 2.5 эти поля зачастую не выведены на форму «Начисления по больничному листу» или в карточку сотрудника. В результате при формировании реестра система видит пустые значения в базе данных и блокирует выгрузку.

Проанализируем ситуацию: если у вас 800 сотрудников, ручной ввод становится невозможным. Выясним причину, по которой 1С не автоматизировала этот процесс. Основная причина — ФИАС работает на основе глобальных уникальных идентификаторов (GUID), которые невозможно вычислить по алгоритму из старого КЛАДР-кода без обращения к актуальной базе ФНС.

Способ №1: Ручной поиск через официальный сервис ФНС

Этот метод подходит, если количество проблемных сотрудников невелико. Рассмотрим пошагово, как получить нужный код:

  1. Перейдем на официальный портал fias.nalog.ru.
  2. В строке поиска введем адрес сотрудника (город, улица, дом, квартира).
  3. В результатах поиска найдем строку «Уникальный номер адреса объекта капитального строительства» или «Уникальный идентификатор (GUID)».
  4. Скопируем полученную последовательность знаков (например, a1b2c3d4-e5f6...).
  5. В программе 1С откроем документ «Начисление по больничному листу» или карточку сотрудника.

Поскольку поля КодАдресаФИАС часто скрыты, нам может потребоваться воспользоваться обработкой «Групповая обработка справочников и документов» или «Универсальный подбор и обработка объектов», чтобы записать значение в нужный реквизит объекта ФизическиеЛица.

Способ №2: Программное отключение проверки заполнения

Как показывает практика и обсуждения на технических форумах, шлюзы приема отчетности СФР на данный момент часто принимают реестры, в которых КодАдресФИАС не заполнен, при условии, что все остальные адресные данные (регион, город, улица, дом) указаны верно согласно КЛАДР. В самой 1С проверка часто является избыточной «заглушкой».

Разберем, как временно отключить эту проверку в конфигураторе. Проанализируем модуль, отвечающий за выгрузку. Обычно это общие модули, связанные с электронным обменом, или модуль объекта обработки ВыгрузкаРеестровПособий.

Найдем фрагмент кода, где выполняется проверка. Он может выглядеть примерно так:


Если НЕ ЗначениеЗаполнено(СтрокаДанных.КодАдресаФИАС) Тогда
    Отказ = Истина;
    Сообщить("У сотрудника " + СтрокаДанных.ФизЛицо + " не заполнен код ФИАС!");
КонецЕсли;

Для решения проблемы мы можем закомментировать условие Отказ = Истина. Рассмотрим пример модификации:


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

Важно: Данный метод является «костылем». Перед массовой отправкой обязательно проверьте один сформированный XML-файл через программу CheckPFR или аналогичные средства проверки отчетности. Если файл проходит валидацию по схеме, его можно отправлять.

Способ №3: Автоматизация через внешние API и сервисы

Если штат сотрудников большой, а переходить на ЗУП 3.1 «завтра» не планируется, рассмотрим вариант автоматизации. Существуют сервисы (например, Dadata), которые позволяют через программный интерфейс (API) получить GUID ФИАС по строке адреса.

Разберем алгоритм работы такой обработки:

  1. Программа выбирает всех сотрудников, у которых есть действующие больничные листы.
  2. Формируется строка адреса из контактной информации сотрудника.
  3. Отправляется запрос к внешнему сервису.
  4. Полученный ответ (GUID) записывается в реквизит КодАдресаФИАС в справочнике ФизическиеЛица.

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


Процедура ЗаписатьФИАС(ФизЛицоОбъект, НайденныйGUID)
    // Убедимся, что реквизит существует в метаданных
    Попытка
        ФизЛицоОбъект.КодАдресаФИАС = НайденныйGUID;
        ФизЛицоОбъект.Записать();
    Исключение
        Сообщить("Ошибка записи ФИАС для: " + ФизЛицоОбъект.Наименование);
    КонецПопытки;
КонецПроцедуры

Способ №4: Перевыбор адреса через онлайн-классификатор 1С

Проанализируем возможности современной платформы 8.3, на которой обычно запускается ЗУП 2.5. Если у вас подключена интернет-поддержка, попробуйте открыть форму ввода адреса в карточке физического лица. В некоторых случаях, при перевыборе дома из выпадающего списка (если классификатор загружен или используется облачный адрес), система может автоматически подтянуть идентификатор в скрытые поля.

Однако помните, что в ЗУП 2.5 механизм работы с контактной информацией сильно отличается от БСП (Библиотеки стандартных подсистем), используемой в версии 3.1. Поэтому данный метод срабатывает не на всех релизах и требует обязательной проверки заполнения реквизита через консоль запросов.

Итоги и рекомендации

Мы проанализировали ситуацию с отсутствием кодов ФИАС в ЗУП 2.5 и выяснили, что проблема носит технический характер из-за прекращения развития данной ветки программы.

Резюмируем наши действия:

В долгосрочной перспективе единственным верным решением остается переход на ЗУП 3.1, где работа с ФИАС является штатной функцией, а все обновления форматов отчетности выходят своевременно. Версия 2.5 будет требовать все больше ручных правок кода («костылей») с каждым новым изменением в законодательстве.

← На главную