При работе в программе 1С:Зарплата и управление персоналом 3.1 пользователи часто сталкиваются с неприятной ситуацией: организация сменила регистрационный номер ПФР (СФР), данные об этом корректно внесены в историю регистраций, внутри самого отчета СЗВ-М номер отображается верно, но при выгрузке имя файла содержит старый номер. Это приводит к отказам в приеме отчетности со стороны контролирующих органов. В этой статье мы подробно разберем, почему так происходит, где в программном коде затаилась ошибка и как исправить ситуацию несколькими способами.
Проанализируем техническую сторону вопроса. В современных версиях конфигураций 1С (ЗУП, БП, ERP) произошел архитектурный переход. Раньше регистрационный номер ПФР хранился в простом реквизите справочника Организации. Позже разработчики перешли на использование периодического регистра сведений История регистраций в органе ПФР, чтобы можно было хранить историю изменений при реорганизациях или смене юридического адреса.
Однако, как показывает практика, переход был выполнен не полностью. Давайте посмотрим, как это работает на уровне программного кода:
Организации.Проанализируем ситуацию с помощью отладчика, как это сделали участники обсуждения. Если заглянуть в общий модуль ОбщегоНазначения в функцию ЗначенияРеквизитовОбъекта, мы увидим примерно такой запрос:
ВЫБРАТЬ
РегистрационныйНомерПФР КАК РегистрационныйНомерПФР,
КодОрганаПФР КАК КодОрганаПФР
ИЗ
Справочник.Организации КАК Таблица
ГДЕ
Таблица.Ссылка = &Ссылка
Как мы видим, в данном запросе отсутствует срез последних на дату. Программа просто берет значение из физического поля таблицы справочника. Если это поле по каким-то причинам не синхронизировалось с новой записью в регистре истории, имя файла будет содержать "мусорные" или устаревшие данные.
Для тех, кто хочет самостоятельно исследовать проблему в конфигураторе, отметим ключевые точки:
СведенияОЗастрахованныхЛицахСЗВ_М.ИмяФайла.ЗначенияРеквизитовОбъекта из общего модуля ОбщегоНазначения.Посмотрим на пример: если в базе ведется учет по нескольким организациям, вероятность проявления ошибки возрастает, так как механизмы кэширования и выборки данных для списка организаций могут игнорировать изменения в подчиненных регистрах сведений до момента принудительной перезаписи основного объекта.
Это самый быстрый и надежный способ "синхронизировать" скрытый реквизит справочника с актуальными данными из истории. Выполним следующие шаги:
Организация.Регистрационный номер ПФР.После этой процедуры скрытое поле в справочнике обновится, и функция формирования имени файла начнет подхватывать верное значение.
Иногда система может самостоятельно обновить реквизит справочника, если инициировать стандартные обработчики событий записи. Рассмотрим, как это сделать:
Этот метод заставляет программу вызвать процедуру ПриЗаписи, внутри которой часто прописаны механизмы обновления связанных полей. Однако в некоторых релизах (например, 3.1.15.40) этот механизм может не сработать из-за внутренних ошибок конфигурации.
Если вы сомневаетесь, в чем именно проблема, мы можем провести быструю диагностику. Используем консоль запросов (доступна в инструментах разработчика или во внешних обработках). Выполним простой запрос:
ВЫБРАТЬ
Ссылка,
РегистрационныйНомерПФР
ИЗ
Справочник.Организации
ГДЕ
Наименование ПОДОБНО "%НазваниеВашейОрганизации%"
Если результат запроса показывает старый номер, а в интерфейсе в истории регистрации вы видите новый — вы столкнулись именно с описанной рассинхронизацией. Проблема "Ошибка 00-00180031", зарегистрированная еще в 2018 году, периодически всплывает в разных подсистемах 1С, включая современные выпуски ЗУП 3.1.
Заметим, что не все пользователи сталкиваются с этой ошибкой даже на одном и том же релизе. Проанализируем ситуацию: это часто зависит от функциональной опции "Использовать несколько организаций". В базах с единственной организацией 1С может использовать альтернативные пути получения данных (например, через константы или предопределенные механизмы), которые работают стабильнее. В многофирменных базах выборка идет строго по ссылке из справочника, что и приводит к ошибке в имени файла.
Чтобы ваш отчет СЗВ-М уходил с правильным именем файла, выполните следующие рекомендации:
Регистрационный номер ПФР в справочнике организаций.Мы надеемся, что данный разбор помог вам разобраться в тонкостях хранения данных в 1С:ЗУП 3.1 и успешно сдать отчетность!