При работе в конфигурациях 1С (в частности, «Зарплата и кадры бюджетного учреждения 1.0» или «Зарплата и управление персоналом 2.5») пользователи нередко сталкиваются со следующей ситуацией: старый лицевой счет сотрудника удален из регистра сведений, внесен новый актуальный счет, однако при создании больничных листов, формировании выплат (например, по КОСГУ 212) или реестров для ФСС система продолжает автоматически подставлять старый номер лицевого счета.
Разберем подробно причины возникновения этой ошибки и проанализируем способы ее устранения как средствами программы без программирования, так и путем корректировки исходного кода конфигурации.
Проблема возникает из-за специфики работы типовых алгоритмов 1С в условиях прямого выплачивания пособий (Пилотный проект ФСС). Рассмотрим основные причины:
Логика выборки из истории документов: В типовых механизмах взаимодействия с ФСС заложен алгоритм, который считывает реквизиты банка и лицевого счета из последнего созданного документа по данному сотруднику (например, из документа «Заявление сотрудника на выплату пособия» или предыдущего больничного листа). Программа отдает приоритет истории выплат, а не актуальной записи в регистре сведений.
Зависание реквизитов в ранее проведенных документах: Даже если удалить запись о лицевом счете из регистра сведений, реквизиты остаются записанными в табличных частях прошлого документооборота. Система находит последний документ с зафиксированными реквизитами и копирует их.
Несоответствие Зарплатного проекта: Если новый лицевой счет открыт в рамках нового зарплатного проекта, а в больничном листе или межрасчетной выплате по умолчанию выбирается старый зарплатный проект организации, алгоритм поиска не видит счет из нового проекта и обращается к старым данным.
Способ 1. Изменение кода в конфигураторе
Если требуется кардинально изменить алгоритм, чтобы программа сначала проверяла регистрационные данные сотрудника и только при их отсутствии обращалась к истории документов, потребуется внести изменения в типовую конфигурацию.
Проанализируем порядок действий разработчика:
Откроем конфигуратор и перейдем к общему модулю ОбменСведениямиОПособияхСФССПолныеПрава.
Найдем процедуру или функцию, отвечающую за выборку реквизитов лицевого счета сотрудника для выплат и реестров.
Скорректируем алгоритм таким образом, чтобы первичный запрос обращался к регистру сведений лицевых счетов физических лиц.
Если запись в регистре найдена, подставляем актуальный счет и наименование банка из карточки физического лица, игнорируя предыдущие документы.
Если запись в регистре сведений отсутствует, сохраняем резервную логику получения данных из последнего проведенного документа.
Посмотрим на пример логики, которую необходимо реализовать в модуле:
// Изменение приоритета получения лицевого счета:
// Сначала считываем данные из регистра сведений лицевых счетов
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ЛицевыеСчета.НомерЛицевогоСчета КАК НомерЛицевогоСчета,
| ЛицевыеСчета.Банк КАК Банк
|ИЗ
| РегистрСведений.ЛицевыеСчетаСотрудниковОрганизаций КАК ЛицевыеСчета
|ГДЕ
| ЛицевыеСчета.ФизЛицо = &ФизЛицо";
Запрос.УстановитьПараметр("ФизЛицо", ВыбранноеФизЛицо);
РезультатЗапроса = Запрос.Выполнить();
Если НЕ РезультатЗапроса.Пустой() Тогда
// Используем счет из регистра
Выборка = РезультатЗапроса.Выбрать();
Выборка.Следующий();
ЛицевойСчет = Выборка.НомерЛицевогоСчета;
Иначе
// Если в регистре сведений нет данных, используем исторический документ
ЛицевойСчет = ПолучитьРеквизитыИзПоследнегоДокумента(ВыбранноеФизЛицо);
КонецЕсли;
Способ 2. Оформление нового документа «Заявление на выплату пособия»
Если конфигурация находится на поддержке и вносить изменения в исходный код нежелательно, решим задачу пользовательскими средствами через оформление актуального заявления.
Создадим новый документ «Заявление сотрудника на выплату пособия» (или «Сведения о застрахованном лице»).
В разделах выплат вручную перевыберем актуальный зарплатный проект, банк и новый лицевой счет.
Проведем документ. Теперь для всех последующих больничных листов и реестров ФСС именно этот документ станет «последним в истории», и система начнет автоматически подтягивать новые реквизиты.
Способ 3. Использование внешних обработок и исправлений
Рассмотрим случай, когда некорректные данные уже попали в большое количество документов. Ручной перевыбор счета в каждом документе может быть трудоемким.
Для массового обновления исторических ссылок воспользуемся обработкой «Поиск и замена значений» или специальной внешней обработкой заполнения табличных частей.
Заменим ссылки на старый лицевой счет на новый номер во всех проведенных документах выплат и прошлых реестрах ФСС.
При использовании внешней обработки заполнения табличной части документа БольничныйЛист или РеестрФСС можно настроить автоматический перерасчет реквизитов непосредственно при нажатии кнопки заполнения без снятия базы с поддержки.
Что делать, если не заполняется наименование банка?
Иногда после исправления лицевого счета в документе подтягивается сам номер счета, но поле банка остается пустым. Проанализируем настройки справочников:
Перейдем в справочник «Зарплатные проекты» и убедимся, что выбранный проект привязан к корректному банку.
Откроем справочник Банки и проверим заполнение реквизитов БИК и корреспондентского счета для банка, обслуживающего лицевой счет.
Проверим соответствие классификатора банков (БИК), так как при отсутствии связи с классификатором печатные формы и модули выгрузки реестров ФСС не смогут автоматически сформировать полное наименование кредитной организации.