Как вернуть конфигурацию 1С на поддержку и восстановить «замок» без потери добавленных объектов и данных?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

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

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

Предварительные действия: резервное копирование

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

  1. Откроем информационную базу в режиме Конфигуратор.
  2. Перейдем в главное меню: Администрирование — Выгрузить информационную базу....
  3. Сохраним файл выгрузки (.dt) в надежное место или создадим полную копию базы данных средствами СУБД.

Способ 1. Восстановление поддержки через сравнение и объединение (рекомендуемый)

Проанализируем самый безопасный метод, который не перезаписывает структуру базы данных целиком и исключает случайное удаление таблиц СУБД. Для этого потребуется файл конфигурации поставщика (.cf) ровно того же релиза, который установлен в текущей базе.

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

  1. Выгрузим текущую конфигурацию поставщика: откроем меню Конфигурация — Поддержка — Настройка поддержки и нажмем кнопку Сохранить в файл. Сохраним типовой файл cf_vendor.cf. Если кнопка недоступна, используем файл 1cv8.cf из каталога шаблона обновления точно такой же версии.
  2. В главном меню выберем Конфигурация — Сравнить, объединить с конфигурацией из файла... и укажем сохраненный типовой файл cf_vendor.cf.
  3. В появившемся окне сравнения и объединения снимем общий флаг в корне дерева (чтобы случайно не затереть нетиповые доработки), либо оставим флаги только для типовых объектов.
  4. Нажмем кнопку Действия — Установить правила поддержки....
  5. В окне правил поддержки для объектов поставщика укажем:
    • Объект поставщика не редактируется (значок закрытого замка) — для подчиненных типовых объектов.
    • Для корня конфигурации выберем: Объект поставщика редактируется с сохранением поддержки. Это необходимо, чтобы платформа разрешала присутствие добавленных объектов метаданных.
  6. Нажмем Выполнить для завершения объединения.
  7. Сохраним конфигурацию и применим изменения к базе данных, нажав клавишу F7 или через меню Конфигурация — Обновить конфигурацию базы данных.

В результате все типовые объекты поставщика вновь окажутся на замке («не редактируются»), а добавленный регистр сведений останется на своем месте со всеми накопленными данными.

Способ 2. Восстановление через последовательную выгрузку и объединение конфигураций

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

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

  1. Выгрузим текущую измененную конфигурацию со всеми доработками в файл: Конфигурация — Сохранить конфигурацию в файл... (назовем его custom.cf).
  2. Выгрузим типовую конфигурацию поставщика: Конфигурация — Поддержка — Настройка поддержки — Сохранить в файл (назовем его vendor.cf).
  3. Загрузим типовую конфигурацию: Конфигурация — Загрузить конфигурацию из файла... и выберем vendor.cf. Важно: на этом шаге не применяем изменения клавишей F7, чтобы база данных не реструктуризировалась с удалением таблиц!
  4. Включим возможность добавления новых объектов: перейдем в Конфигурация — Поддержка — Настройка поддержки, нажмем Включить возможность изменения. Установим обе радиокнопки в положение Объект поставщика не редактируется.
  5. После завершения процедуры кликнем правой кнопкой мыши по верхней строке (корню конфигурации), выберем Установить правило поддержки, установим Объект поставщика редактируется с сохранением поддержки и снимем флаг Установить для подчиненных объектов.
  6. Объединим конфигурацию с ранее сохраненным файлом доработок: Конфигурация — Сравнить, объединить с конфигурацией из файла..., выбрав custom.cf. В дереве сравнения оставим флаги только на добавленных объектах (нашем регистре сведений).
  7. Нажмем Выполнить, после чего обновим конфигурацию базы данных (F7).

Способ 3. Перенос доработок в расширение конфигурации (современный подход)

В современных версиях платформы 1С:Предприятие 8.3 функционал расширений поддерживает создание собственных таблиц данных (справочников, документов и регистров сведений). Это позволяет вернуть основную конфигурацию на полную типовую поддержку (замок на корне, возможность изменения полностью отключена), что гарантирует безупречную работу автоматического фонового обновления через режим «1С:Предприятие».

Разберем алгоритм переноса данных в расширение:

  1. Создадим новое расширение конфигурации с назначением Адаптация или Дополнение через меню Конфигурация — Расширения конфигурации.
  2. Внутри расширения создадим регистр сведений с абсолютно аналогичной структурой (измерения, ресурсы, реквизиты, типы данных).
  3. Напишем или используем внешнюю обработку для переноса данных из основного регистра в регистр расширения. Пример программного переноса записей наборами:
    
    НаборИсточник = РегистрыСведений.НашПользовательскийРегистр.СоздатьНаборЗаписей();
    НаборИсточник.Прочитать();
    
    НаборПриемник = Расширение_РегистрыСведений.НашПользовательскийРегистр.СоздатьНаборЗаписей();
    Для Каждого Запись Из НаборИсточник Цикл
        ЗаполнитьЗначенияСвойств(НаборПриемник.Добавить(), Запись);
    КонецЦикла;
    НаборПриемник.Записать();
    
  4. После успешного переноса и проверки данных удалим пользовательский регистр из основной конфигурации.
  5. Полностью вернем конфигурацию на поддержку: загрузим файл типовой конфигурации vendor.cf через Конфигурация — Загрузить конфигурацию из файла... и применим изменения (F7).

В итоге основная конфигурация остается на 100% типовой, замки на всех объектах и корне восстановлены, а пользовательский функционал продолжает полноценно работать внутри расширения.

← На главную