Как разблокировать редактирование периода в документе Отпуск, если поля стали неактивными?

Бухгалтер 1С v8.3 (Управляемые формы)
← На главную

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

Механизм связи документов: Список и Индивидуальный расчет

Для начала проанализируем ситуацию: в ЗУП 3.1 существует два вида документов для оформления отпусков. Первый — это Отпуска сотрудников, который представляет собой список (групповой приказ) на нескольких человек. Второй — индивидуальный документ Отпуск, который создается на основании строки из списка и содержит подробные расчеты начислений, НДФЛ и среднего заработка.

Программа устанавливает жесткую связь между ними. Как только по строке группового приказа сформирован индивидуальный расчет, в нем заполняется служебный реквизит ДокументЗаполнения. Выясним причину блокировки: 1С делает это специально, чтобы данные в приказе и в расчете не разошлись. Однако иногда блокировка сохраняется даже тогда, когда все выплаты отменены, а документы распроведены.

Стандартный алгоритм разблокировки

Прежде чем переходить к сложным настройкам, попробуем стандартный путь решения, который помогает в большинстве случаев. Разберем его по шагам:

  1. Откройте индивидуальный документ Отпуск конкретного сотрудника (это можно сделать прямо из таблицы группового документа Отпуска сотрудников).
  2. Если документ проведен — отмените проведение.
  3. Проверьте, не создана ли на основании этого отпуска Ведомость на выплату. Если ведомость есть, ее также необходимо распровести или временно удалить из нее строку с данным отпуском.
  4. Закройте индивидуальный документ Отпуск.
  5. Посмотрите на строку в документе Отпуска сотрудников: после отмены проведения индивидуального расчета шрифт строки должен стать жирным, а поля с датами — доступными для редактирования.
  6. Измените даты в групповом приказе и сохраните его. Программа автоматически синхронизирует эти изменения с индивидуальным документом.

Проблема скрытого флага Расчет утвердил и многофункциональности

Если вышеописанные действия не помогли, значит, мы столкнулись с более глубокой системной особенностью — механизмом многофункциональности документов. В 1С:ЗУП 3.1 реализовано разделение труда между кадровиком и расчетчиком. Для этого используется флаг Расчет утвердил (в коде это может быть реквизит ДокументРассчитан).

Рассмотрим ситуацию: если в базе данных программно установлен признак того, что расчет завершен, поля блокируются. Проанализируем фрагмент кода, который отвечает за это поведение в форме документа:


Если ЗначениеЗаполнено(Форма.Объект.ДокументЗаполнения) Тогда 
    ИменаБлокируемыхЭлементов = Новый Массив; 
    ИменаБлокируемыхЭлементов.Добавить("Организация"); 
    ИменаБлокируемыхЭлементов.Добавить("Сотрудник"); 
    ИменаБлокируемыхЭлементов.Добавить("ДатаНачалаОсновногоОтпуска"); 
    ИменаБлокируемыхЭлементов.Добавить("ДатаОкончанияОсновногоОтпуска"); 
    // ... и другие реквизиты периода
КонецЕсли;

Проблема заключается в том, что если в настройках программы не включена опция использования многофункциональности, то флажок Расчет утвердил на форме просто не отображается, но программно он может оставаться в значении Истина. В итоге пользователь видит заблокированные поля, но не видит кнопки, которой их можно "отпустить".

Как исправить ситуацию через настройки?

Выясним, как сделать скрытый флаг видимым и управляемым. Для этого нам нужно проверить состояние константы Использовать многофункциональность документов. Посмотрим, как это сделать:

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

Дополнительные нюансы и технические советы

Иногда даже после всех манипуляций связь между документами "зависает". Проанализируем еще один способ решения задачи — использование обработки «Групповое изменение реквизитов». Это мощный инструмент, который требует осторожности, но эффективно решает проблему блокировок.

Рассмотрим порядок действий при работе с обработкой:

Важный момент: если вы меняете период отпуска в прошлом периоде (месяц уже закрыт), программа не даст просто так изменить даты. В этом случае правильно будет использовать механизм Исправить в нижней части документа Отпуск, что создаст новый документ-исправление в текущем периоде.

Подводя итог, отметим: блокировка реквизитов в ЗУП 3.1 — это не "глюк", а защитный механизм. В большинстве случаев корень проблемы кроется либо в неснятом флаге утверждения расчета, либо в наличии проведенной ведомости на выплату. Проанализировав настройки многофункциональности, вы сможете вернуть контроль над заблокированными документами и корректно внести исправления в кадровый учет.

← На главную