В процессе работы с программой 1С:Зарплата и Управление Персоналом 3.1 бухгалтеры и расчетчики часто сталкиваются со странным поведением системы: при автоматическом заполнении документа на выплату зарплаты (кнопка «Заполнить») сотрудник по договору гражданско-правового характера (ГПХ) попадает в список, а при попытке выбрать его вручную через «Подбор» — отсутствует в списке доступных лиц. Рассмотрим подробнее, почему так происходит, и разберем механизмы работы программы, которые приводят к подобным ситуациям.
Проанализируем техническую сторону вопроса. Форма подбора в ведомостях (на счета, в кассу или в банк) — это не просто список всех физических лиц или сотрудников. Для ускорения работы системы и обеспечения актуальности данных 1С использует специальный вспомогательный механизм. Основным источником данных для этой формы является регистр сведений Текущие кадровые данные сотрудников.
Этот регистр является независимым, то есть у него нет документов-регистраторов, которые делают в нем записи напрямую при проведении. Данные в него попадают программно в момент записи или проведения кадровых документов (в нашем случае — документа Договор (работы, услуги)) или через выполнение специальных фоновых заданий. Если по какой-то причине запись в этот регистр не создалась или не обновилась, механизм подбора просто «не видит» сотрудника, считая его неработающим или не имеющим актуального статуса на дату документа.
Разберем основные факторы, из-за которых договорники «выпадают» из регистра в версии 3.1.8 и аналогичных:
Обновление данных о сотрудниках. Если оно отключено в консоли заданий или завершилось с ошибкой, новые данные не появятся в регистре мгновенно.Договор (работы, услуги) не указана дата начала или окончания, либо эти даты выходят за рамки текущего периода, система может посчитать, что на текущий момент сотрудник не является активным.Посмотрим на самый простой способ «подтолкнуть» программу к созданию нужной записи. Часто механизм обновления срабатывает при записи объекта СправочникСсылка.Сотрудники.
Выполним следующие шаги:
Текущие кадровые данные сотрудников (через функции технического специалиста или меню «Все функции»).Если простая запись карточки не помогла, проанализируем ситуацию с самим договором. Нам нужно заставить систему заново обработать сведения о договорнике.
Рассмотрим алгоритм действий:
Договор (работы, услуги) по данному сотруднику.Важный нюанс: В некоторых случаях требуется внести «фиктивное» изменение. Например, измените дату договора на один день, проведите, затем верните правильную дату и проведите снова. Это гарантированно вызовет процедуру ОбновитьДанныеУчетаСотрудников, которая отвечает за актуализацию независимых регистров сведений.
В составе конфигурации ЗУП 3.1 есть встроенные инструменты для массового исправления таких ошибок. Если «потерявшихся» договорников много, мы можем запустить полное обновление регистра.
Посмотрим, как это сделать:
Обновление данных о сотрудниках.Если программные методы не помогают (что случалось в ранних сборках 3.1.8 из-за багов кода), остается вариант ручного вмешательства. Поскольку регистр Текущие кадровые данные сотрудников независимый, мы можем внести в него запись вручную.
Выполним это по шагам:
Текущее состояние установим в значение Работа.Для программистов 1С будет полезно понимать, какой именно код отвечает за это поведение. В модулях ЗУП за это обычно отвечает общий модуль КадровыйУчет или специализированные модули обновления данных. Процедура обновления часто выглядит следующим образом:
// Пример логики обновления (упрощенно)
ПроцедурыОбновленияДанных.ОбновитьДанныеУчетаСотрудников(СписокСотрудников);
Если вы разрабатываете собственное расширение или обработку загрузки данных, не забывайте вызывать методы актуализации этого регистра, иначе ваши новые сотрудники также будут «невидимками» для форм подбора.
Резюмируем: Проблема отсутствия договорников ГПХ в подборе — это следствие рассинхронизации основного документа-основания и вспомогательного аналитического регистра. В актуальных версиях 1С (начиная с 3.1.10 и выше) эта ошибка встречается значительно реже, так как механизмы контроля целостности данных были доработаны. Если вы все еще работаете на версии 3.1.8, рекомендуется использовать «Способ 3» или рассмотреть возможность обновления конфигурации до актуального релиза.