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