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