Как очистить базу 1С:ЗКГУ 3 от лишних организаций, документов и записей регистров после переноса данных?

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

Переход со старых программ учета заработной платы (например, 1С:ЗБУ 1.0 или 1С:ЗиК 7.7) на современные конфигурации «1С:Зарплата и кадры государственного учреждения 3» (ЗКГУ 3) или «1С:Зарплата и управление персоналом 3» (ЗУП 3) нередко сопровождается переносом закрытых или недействующих организаций. Вместе с ними в новую информационную базу переносятся структуры подразделений, штатные расписания, документы переноса и сотни тысяч записей в регистрах сведений и накопления.

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

---

Взаимосвязь справочников «Физические лица» и «Сотрудники»

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

Проанализируем структуру хранения персональных и кадровых данных в 1С:ЗКГУ 3 / 1С:ЗУП 3:

  1. Справочник ФизическиеЛица: хранит сведения о человеке как о личности (ФИО, паспортные данные, ИНН, СНИЛС, контакты, информация о семье, стажи). Этот справочник является сквозным для всех учреждений информационной базы.
  2. Справочник Сотрудники: представляет собой конкретный трудовой договор или кадровое назначение человека в рамках определенной организации.

Таким образом, если один и тот же человек работал в закрытом учреждении и продолжает работать в основном, в системе созданы два разных элемента справочника Сотрудники, ссылающихся на один общий элемент справочника ФизическиеЛица. Удаление сотрудника закрытого учреждения никоим образом не повлияет на карточку работающего сотрудника в действующей организации.

---

Почему возникают сложности при удалении данных в ЗКГУ 3?

В конфигурациях редакции 3.0 и 3.1 архитектура учета существенно усложнена по сравнению с предыдущими поколениями программ. Выделим основные факторы, создающие ссылки:

  1. Документы «Перенос данных»: при рекомендованном переносе большинство кадровых и расчетных данных записываются не привычными кадровыми приказами, а специализированными документами переноса (с кодами ТД — трудовые договоры, КД — кадровые данные, РЗ — расчет зарплаты, ПД — плановые начисления и т.д.). Эти документы выступают регистраторами для десятков подчиненных регистров.
  2. Интервальные регистры сведений: для оптимизации кадровых отчетов используются специальные интервальные регистры (история занятости позиций штатного расписания, интервалы кадровой истории сотрудников). Записи в них формируются программно при проведении документов или регламентными процедурами.
  3. Штатное расписание и структура подразделений: элементы справочников Подразделения и ШтатноеРасписание имеют жесткую привязку к организации и позициям сотрудников.

---

Решение 1. Удаление данных через регистраторы «Перенос данных»

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

Разберем процедуру по шагам:

  1. Перейдем в раздел Администрирование -> Перенос данных (или откроем список документов через меню функций).
  2. Установим отбор по реквизиту Организация, выбрав закрытое учреждение.
  3. Выделим все найденные документы (Ctrl + A) и пометим их на удаление (клавиша Delete).
  4. При установке пометки удаления на документ Перенос данных платформа 1С автоматически очистит все связанные движения по всем регистрам накопления и сведений, в которые данный документ делал записи.

---

Решение 2. Массовая пометка объектов с помощью встроенной обработки

После удаления документов переноса необходимо пометить на удаление справочные данные, привязанные к организации (сотрудников, позиции штатного расписания, подразделения и саму карточку организации).

Рассмотрим, как это сделать с помощью стандартной обработки Групповое изменение реквизитов:

  1. Откроем Администрирование -> Обслуживание -> Корректировка данных -> Групповое изменение реквизитов.
  2. В верхней части выберем объект для обработки, например, справочник Сотрудники.
  3. Нажмем Добавить условие отбора и укажем: Организация Равно [Закрытая организация].
  4. В списке реквизитов найдем поле Пометка удаления, установим флаг и выберем значение Да.
  5. Нажмем кнопку Изменить реквизиты.
  6. Повторим данную процедуру для справочников:
    • Штатное расписание (или позиции штатного расписания);
    • Подразделения организаций;
    • Документы (если в базе уже создавались первичные документы по закрытой организации).

---

Решение 3. Очистка независимых регистров сведений программным кодом

Некоторые регистры в ЗКГУ 3 являются независимыми (не имеют документа-регистратора) и хранят данные в разрезе измерений Организация или ФизическоеЛицо. Если такие записи препятствуют удалению, разберем программный способ их очистки через внешнюю обработку или консоль кода.

Посмотрим на пример очистки набора записей регистра сведений по отбору:


// Пример программной очистки независимого регистра сведений
НенужнаяОрганизация = Справочники.Организации.НайтиПоНаименованию("Ликвидированное МКУ");

Если ЗначениеЗаполнено(НенужнаяОрганизация) Тогда
    // Получаем менеджер набора записей целевого регистра
    Набор = РегистрыСведений.КадроваяИсторияСотрудниковИнтервальный.СоздатьНаборЗаписей();
    
    // Устанавливаем отбор по организации
    Набор.Отбор.Организация.Установить(НенужнаяОрганизация);
    
    // Очищаем набор и записываем пустой состав (удаление записей)
    Набор.Очистить();
    Набор.Записать();
    
    Сообщить("Записи регистра успешно очищены для организации: " + Строка(НенужнаяОрганизация));
КонецЕсли;

---

Решение 4. Удаление помеченных объектов и исправление интервалов

Когда все документы и зависимые справочники помечены, выполним окончательное удаление:

  1. Откроем Администрирование -> Обслуживание -> Удаление помеченных объектов.
  2. Выберем Выборочное удаление, чтобы визуально контролировать процесс.
  3. Нажмем кнопку Удалить. Если система обнаружит неразрешенные ссылки, откроется окно со списком блокирующих объектов. Перейдем в них и снимем ссылки либо также пометим на удаление.

Важное действие после завершения чистки: в ЗКГУ 3 кадровые данные завязаны на интервальные механизмы. После масштабных удалений обязательно запустим тестирование и исправление:

  1. Создадим резервную копию информационной базы.
  2. Запустим программу в режиме Конфигуратор.
  3. Откроем меню Администрирование -> Тестирование и исправление...
  4. Установим флаги Реиндексация таблиц, Проверка логической целостности и Пересчет итогов, после чего нажмем Выполнить.

---

Альтернативные варианты без полного удаления

Если процесс удаления представляется слишком рискованным или трудоемким из-за большого объема исторических связей, рассмотрим два альтернативных административных решения:

  1. Установка признака прекращения деятельности: в карточке организации на вкладке Главное можно установить флаг того, что организация ликвидирована (или деятельность прекращена). В этом случае она перестанет отображаться в списках выбора документов и отчетов у большинства пользователей.
  2. Ограничение прав доступа (RLS): включим ограничение прав на уровне записей по организациям (Администрирование -> Настройки пользователей и прав -> Группы доступа). Назначим пользователям доступ только к активным организациям. Ликвидированные учреждения будут полностью скрыты из интерфейса кадровиков и расчетчиков.
  3. Перезапуск переноса: если база еще не введена в эксплуатацию и в ней не рассчитывалась текущая зарплата, самым быстрым способом будет очистить базу целиком и повторить процедуру переноса из ЗБУ, исключив лишние учреждения на первом шаге помощника выгрузки.
← На главную