Каким объектом в 1С:ЗУП 3.1 заменено перечисление «Причины отсутствия на работе в организации» из ЗУП 2.5?

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

При переходе с конфигурации 1С:ЗУП 2.5 на 1С:ЗУП 3.1 специалисты и разработчики часто сталкиваются с изменением архитектуры учета неявок. В редакции 2.5 факт отсутствия сотрудника фиксировался с помощью системного перечисления ПричиныОтсутствияНаРаботеВОрганизации. В редакции ЗУП 3.1 концепция была полностью пересмотрена: единый объект удален, а его роль распределена между несколькими подсистемами, справочниками и регистрами.

Разберем подробно, какие именно объекты конфигурации 1С:ЗУП 3.1 отвечают за регистрацию причин и состояний отсутствия сотрудников на работе.

Архитектурное разделение учетных задач

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

  1. Перечисление СостоянияСотрудника — базовый элемент для кадровой подсистемы. Именно оно содержит список возможных состояний сотрудника (например, Работа, Отпуск ежегодный, Больничный, Прогул, Командировка и т. д.).
  2. Справочник ВидыИспользованияРабочегоВремени — хранит классификатор видов времени для табельной подсистемы (буквенные и цифровые коды «ОТ», «Б», «ПР», «НН» и т. д.).
  3. Справочник ВидыОтпусков — отвечает за учет прав на отпуска, правила расчета остатков и их классификацию (основной, дополнительный, без сохранения оплаты).
  4. Реквизиты начислений — в плане видов расчета Начисления используется реквизит КатегорияНачисленияИлиНеоплаченногоВремени, который связывает расчетные виды расчета с учетом времени.

Регистрация состояния и причин неявки в регистрах

Для хранения истории состояний сотрудника и фактов отклонения от графика в ЗУП 3.1 используются специализированные регистры сведений:

Рассмотрим структуру записи в этих регистрах. При проведении кадрово-расчетного документа (например, Отпуск, Больничный лист или Отсутствие (болезнь, прогул, неявка)) система одновременно фиксирует состояние сотрудника через ПеречислениеСсылка.СостоянияСотрудника и связанную с ним ссылку на СправочникСсылка.ВидыИспользованияРабочегоВремени.

Особенности работы с состояниями в запросах и разработке

Проанализируем основные нюансы, которые необходимо учитывать программисту при написании запросов к данным о неявках в 1С:ЗУП 3.1:

1. Получение текущего состояния сотрудника:

При получении среза последних из виртуальной таблицы РегистрСведений.СостоянияСотрудников.СрезПоследних нельзя накладывать отбор по работающим сотрудникам непосредственно в параметрах виртуальной таблицы через Состояние <> ЗНАЧЕНИЕ(Перечисление.СостоянияСотрудника.Увольнение). В таком случае платформа вернет предыдущую запись состояния. Фильтрацию необходимо производить в секции ГДЕ итоговой выборки.

2. Различие типов данных:

Поле Состояние имеет тип ПеречислениеСсылка.СостоянияСотрудника, в то время как поле ВидВремени ссылается на СправочникСсылка.ВидыИспользованияРабочегоВремени. При сопоставлении эти значения не являются взаимозаменяемыми и требуют использования логических конструкций ВЫБОР КОГДА.

Разберем пример запроса для получения текущих состояний сотрудников:


ВЫБРАТЬ
	Состояния.Сотрудник КАК Сотрудник,
	Состояния.Состояние КАК Состояние,
	Состояния.ВидВремени КАК ВидВремени,
	Состояния.ДействуетДо КАК ДатаОкончания
ИЗ
	РегистрСведений.СостоянияСотрудников.СрезПоследних(&Период, ) КАК Состояния
ГДЕ
	Состояния.Состояние <> ЗНАЧЕНИЕ(Перечисление.СостоянияСотрудника.Увольнение)

Итоги

Таким образом, прямым аналогом Перечисление.ПричиныОтсутствияНаРаботеВОрганизации из ЗУП 2.5 в ЗУП 3.1 является перечисление СостоянияСотрудника. Однако для корректной работы с данными о неявках необходимо учитывать связь этого перечисления со справочником ВидыИспользованияРабочегоВремени и регистрами сведений подсистемы учета состояний сотрудников.

← На главную