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