Часто возникает ситуация, когда в программе 1С:ЗУП необходимо навести порядок в кадровых документах задним числом. Например, вы открываете старый документ Утверждение штатного расписания и обнаруживаете в нем позиции, которых на тот момент не существовало и которые были добавлены позже. Попытки удалить лишнюю строку стандартными средствами — клавишей Del или через контекстное меню — не приносят результата, так как эти функции неактивны.
В этой статье мы подробно разберем, почему программа блокирует такие изменения и какие существуют штатные способы для исправления этой ситуации, чтобы восстановить правильную хронологию кадровых событий.
Прежде чем перейти к решениям, выясним причину такого поведения программы. В 1С:ЗУП, если включено ведение истории изменений штатного расписания, система относится к проведенным документам как к зафиксированным историческим фактам. Документ Утверждение штатного расписания — это срез, на основе которого строятся все последующие кадровые операции: приемы на работу, переводы и т.д.
Прямое удаление строки из прошлого могло бы нарушить целостность данных. Например, если на удаляемую позицию уже был принят сотрудник, система столкнется с логическим противоречием: как человек может работать на должности, которой никогда не существовало? Именно для предотвращения таких коллизий и введена блокировка на прямое редактирование.
Теперь рассмотрим два корректных способа решения этой задачи.
Этот метод является наиболее безопасным, быстрым и рекомендованным разработчиками. Он не нарушает хронологию и не требует отмены проведения множества связанных документов. Суть метода — не удалять ошибочную позицию из прошлого, а немедленно закрыть ее в настоящем.
Разберем по шагам, как это сделать:
Не изменяйте исходный документ. Оставьте документ Утверждение штатного расписания, в котором вы нашли ошибку, без изменений.
Создайте новый документ. Перейдите в раздел «Кадры» -> «Изменения штатного расписания» и создайте новый документ Изменение штатного расписания.
Установите правильную дату. Дату нового документа установите той же, что и у ошибочного документа утверждения, но временем чуть позже. Например, если утверждение было сделано 01.01.2023 в 00:00:00, поставьте в изменении дату 01.01.2023 и время 00:00:01. Можно также поставить дату следующего дня. Это нужно, чтобы "жизнь" ошибочной позиции была минимальной.
Закройте позицию. В табличной части документа найдите ошибочно введенную штатную единицу. Выделите ее и нажмите кнопку «Закрыть позицию». Строка будет помечена как закрываемая.
Проведите документ. После проведения этого документа ошибочная позиция станет неактуальной и не будет отображаться в расширенном отчете по штатному расписанию, сформированном на любую дату после этого изменения. Также на нее нельзя будет принять или перевести сотрудника.
Итог этого способа: Физически строка в первоначальном документе останется, но для всех практических целей она будет считаться закрытой почти сразу после своего появления. Этот метод идеален в 99% случаев, так как он сохраняет всю историю действий в системе и приводит штатное расписание в актуальное состояние без риска повредить связанные данные.
Этот способ является более радикальным. Его стоит применять только в исключительных случаях, когда по каким-либо причинам (например, для прохождения аудита) требуется, чтобы в исходном документе Утверждение штатного расписания не было даже упоминания об ошибочной позиции.
Внимание! Этот метод требует высокой аккуратности и полного понимания последствий. Отмена проведения кадровых документов задним числом может повлиять на расчет зарплаты, стажей, остатков отпусков и другие важные данные. Перед началом работ обязательно сделайте резервную копию информационной базы!
Проанализируем последовательность действий:
Создайте резервную копию базы. Это самый важный первый шаг, который застрахует вас от непредвиденных ошибок.
Найдите все связанные документы. Необходимо найти все документы, в которых использовалась ошибочная штатная позиция. Это могут быть последующие документы Изменение штатного расписания, а также кадровые документы Прием на работу и Кадровый перевод.
Разберитесь с сотрудниками. Если на ошибочной позиции числятся сотрудники, их необходимо сначала перевести на корректные позиции с помощью соответствующих кадровых документов.
Отмените проведение документов. Начните отменять проведение всех найденных документов в обратной хронологической последовательности (от самых новых к самым старым). Сначала отменяются кадровые документы (приемы, переводы), затем — изменения штатного расписания. Если документы не удается распровести штатно, может потребоваться очистка движений документа.
Отмените проведение исходного документа. Когда все связи с ошибочной позицией будут разорваны, вы сможете отменить проведение того самого документа Утверждение штатного расписания.
Удалите строку. После отмены проведения блокировка будет снята, и вы сможете удалить лишнюю строку из табличной части. удаление помеченных объектов с предварительным отбором.
Проведите документ заново. После внесения исправлений проведите документ Утверждение штатного расписания еще раз.
Восстановите хронологию. В строгой хронологической последовательности проведите заново все документы, которые вы отменяли на шаге 4.
Итог этого способа: В результате вы получите "чистую" историю, как будто ошибки никогда и не было. Однако этот путь трудоемкий и сопряжен с серьезными рисками нарушения учета, поэтому использовать его следует с большой осторожностью.
Выбор зависит от ваших целей.
Если вам нужно просто исправить ошибку и привести штатное расписание в соответствие с реальностью для дальнейшей работы, однозначно выбирайте Способ 1. Он быстрый, безопасный и полностью соответствует методологии, заложенной в 1С:ЗУП.
Если же перед вами стоит задача добиться идеальной, "вычищенной" истории без следов ошибок, и вы готовы потратить время и взять на себя риски, тогда ваш вариант — Способ 2, но только после создания резервной копии и с полным пониманием всех шагов.