Как массово изменить дату в кадровых документах в 1С:ЗУП 8.3?

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

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

Различие между датой документа и датой кадрового события

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

  1. Дата документа (стандартный реквизит шапки Дата) — дата регистрации распоряжения или приказа в информационной базе. Она влияет на хронологию документов в журнале и на проверку даты запрета изменения данных.
  2. Дата события (реквизит Дата начала) — фактическая дата, с которой сотрудник переводится на новую должность, в другое подразделение или с которой меняются условия оплаты труда.

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

Способ 1. Использование обработки «Групповое изменение реквизитов»

Рассмотрим по шагам выполнение пакетной корректировки с помощью встроенной административной обработки:

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

Способ 2. Изменение выделенных документов напрямую из кадрового журнала

Если документы уже сгруппированы в общем списке кадровых документов или их легко выделить визуально, воспользуемся контекстным методом пакетного редактирования:

  1. Откроем журнал документов (например, Кадры → Приемы, переводы, увольнения).
  2. Выделим нужные строки с помощью клавиш Shift или комбинации Ctrl+A.
  3. Нажмем правой кнопкой мыши по выделенным строкам и выберем пункт Изменить выделенные....
  4. В открывшемся окне найдем требуемое поле, укажем новое значение даты и нажмем Изменить реквизиты.

Этот метод исключает необходимость сложной ручной настройки условий фильтрации, так как список целевых документов формируется непосредственно в таблице журнала.

Способ 3. Программная корректировка дат внешней обработкой

Если правила изменения даты требуют сложного алгоритма (например, индивидуального смещения даты на определенное число рабочих дней для каждого документа), применим программный код. Разберем пример реализации безопасного пакетного проведения документов:


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	КадровыйПеревод.Ссылка КАК Ссылка
    |ИЗ
    |	Документ.КадровыйПеревод КАК КадровыйПеревод
    |ГДЕ
    |	КадровыйПеревод.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
    |	И КадровыйПеревод.Проведен = ИСТИНА";

Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(ИсходнаяДата));
Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(ИсходнаяДата));

Выборка = Запрос.Выполнить().Выбрать();

Пока Выборка.Следующий() Цикл
    ДокументОбъект = Выборка.Ссылка.ПолучитьОбъект();
    ДокументОбъект.Дата = НоваяДатаДокумента;
    ДокументОбъект.ДатаНачала = НоваяДатаСобытия;
    
    Попытка
        ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
    Исключение
        Сообщить("Ошибка проведения документа " + Строка(Выборка.Ссылка) + ": " + ОписаниеОшибки());
    КонецПопытки;
КонецЦикла;

Контроль последствий в учете после массового перепроведения

После успешной пакетной смены дат и перепроведения документов обязательно проверим следующие контрольные точки:

  1. Сервис перерасчетов: Смещение даты кадрового изменения в уже рассчитанном периоде фиксируется механизмом отслеживания изменений. Перейдем в раздел Зарплата → Сервис → Перерасчеты и проанализируем, не появились ли записи о необходимости доначисления или пересчета зарплаты сотрудникам.
  2. Сведения о трудовой деятельности (ЕФС-1 Подраздел 1.1 / СЗВ-ТД): Если по данным переводам уже сдавалась регламентированная отчетность, программа может автоматически сформировать отменяющие записи кадровых мероприятий. Необходимо сверить зарегистрированные мероприятия в журнале Электронные трудовые книжки.
  3. Дата запрета изменения данных: Если документы перемещаются в закрытый расчетный период, перед операцией потребуется временно скорректировать дату запрета в разделе Администрирование → Настройки пользователей и прав → Даты запрета изменения, а после завершения обработки вернуть ее на прежнее значение.
← На главную