Переход с платформы 1С 8.2 на 8.3, а точнее с обычных форм на управляемые (интерфейс «Такси»), часто вызывает вопросы даже у опытных специалистов. Одной из самых обсуждаемых проблем является поиск привычного механизма «Значения, подставляемые в справочники и документы». В старых редакциях (например, Бухгалтерия 2.0) это было единое окно, где можно было задать основной склад, подразделение или ответственное лицо. В современных конфигурациях, таких как ЗУП 3.1, этот механизм претерпел значительные изменения. Рассмотрим подробнее, как вернуть автоматизацию заполнения полей и решить конкретную проблему с реестрами ФСС (СФР).
Для начала разберем важный методологический момент. В платформе 8.3 на управляемых формах классической единой формы настроек «всего сразу» для пользователя не существует. Разработчики фирмы 1С распределили эти функции по разным подсистемам. Если в 8.2 мы настраивали значения по умолчанию через карточку пользователя или специальную обработку, то в ЗУП 3.1 используются три разных механизма:
Главное. Здесь задается основная организация.Проанализируем ситуацию: при создании документа «Реестр сведений, необходимых для назначения и выплаты пособий» поле «Реестр составил» на вкладке «Сведения о страхователе» остается пустым, хотя «Ответственный» внизу документа заполнен. Выясним причину этого поведения.
Основная проблема заключается в том, что поле «Реестр составил» — это текстовое поле, которое ожидает данные о физическом лице. Программа пытается получить их через цепочку: Текущий пользователь -> Физическое лицо -> ФИО. Если в справочнике Пользователи у вашей учетной записи не выбрано поле Физическое лицо, система не сможет определить, чью фамилию подставить в документ.
Решение по шагам:
Администрирование — Настройки пользователей и прав.Пользователи.Физические лица. Именно оттуда программа берет данные для поля «Реестр составил».Если привязка физического лица выполнена, но поле всё равно очищается, рассмотрим техническую сторону вопроса. Проанализируем код формы документа. В некоторых релизах (например, ветка 3.1.5) наблюдалась особенность работы процедуры обновления данных.
В модуле формы документа может существовать процедура ОбновитьВторичныеДанныеДокумента. Рассмотрим пример логики, которая может приводить к очистке поля:
Процедура ОбновитьВторичныеДанныеДокумента(Команда)
// В этот момент программа может пересчитывать данные страхователя
Документ = ФиксацияПодготовленныйДокумент;
// Если алгоритм не находит связь с ответственным лицом организации,
// поле РеестрСоставил может обнулиться.
КонецПроцедуры
Чтобы исправить это поведение без изменения типовой конфигурации, рекомендуется использовать Расширения. Мы можем перехватить событие ПриУстановкеНовогоНомера или ОбработкаЗаполнения на сервере, чтобы принудительно заполнить поле данными текущего пользователя.
Посмотрим на пример кода для расширения, который можно применить в модуле объекта документа:
&После("ОбработкаЗаполнения")
Процедура Ист_ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
Если НЕ ЗначениеЗаполнено(Объект.РеестрСоставил) Тогда
// Пытаемся получить физлицо текущего пользователя
Объект.РеестрСоставил = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Пользователи.ТекущийПользователь(), "Физическое лицо");
КонецЕсли;
КонецПроцедуры
Как мы уже выяснили, 1С 8.3 использует «статистику последних выборов». Иногда она начинает работать «против нас», запоминая пустые или некорректные значения. Если автоматическое заполнение работает непредсказуемо, попробуйте сбросить эти настройки.
Разберем, как это сделать:
Сервис и настройки (в самом верху справа).Настройки — Очистить данные выбора.ПриСозданииНаСервере), отработают заново.Еще один важный момент, который стоит проверить — это настройки самой организации. В 1С:ЗУП 3.1 данные для многих отчетов подтягиваются из регистра сведений «Ответственные лица организаций».
Рассмотрим порядок проверки:
Настройка — Организации.Учетная политика и другие настройки.Ответственные лица.Важный нюанс: Поле «Реестр составил» в некоторых версиях конфигурации может игнорировать ответственных лиц организации и требовать именно ручного ввода или связи через пользователя. Если программа выдает предупреждение: «Данные заполняются автоматически, вы действительно хотите изменить их вручную?» — это верный признак того, что система пытается найти связь через Физическое лицо пользователя, как мы разбирали выше.
Мы проанализировали ситуацию с отсутствием привычных настроек в 1С 8.3 и выяснили, что современная платформа требует более точечной настройки. Для корректной работы ЗУП 3.1 всегда следите за тем, чтобы каждый Пользователь был связан с Физическим лицом. Это решит 90% проблем с «пустыми полями» в печатных формах и электронных реестрах. В случаях программных ошибок релизов (как в 3.1.5) наиболее правильным путем будет использование механизма Расширений, который позволяет сохранить типовую конфигурацию на поддержке, при этом добавив необходимую автоматизацию.