При доработке типовых конфигураций 1С (например, 1С:Бухгалтерия предприятия 3.0) часто возникает ситуация, когда для добавления нового отчета, справочника или регистра конфигурацию полностью снимают с поддержки либо включают возможность изменения без жесткого контроля правил. В результате на всех объектах поставщика пропадают «замки», а штатный механизм автоматического обновления конфигурации через пользовательский режим перестает работать.
Разберем, как правильно вернуть конфигурацию на поддержку, защитить типовые объекты поставщика признаком «не редактируется» (вернуть «замок») и при этом гарантированно сохранить добавленный объект метаданных и накопленные в нем данные.
Любые манипуляции со структурой метаданных и правилами поддержки несут потенциальный риск потери информации. Прежде чем приступить к процедуре, обязательно выполним резервное копирование информационной базы:
.dt) в надежное место или создадим полную копию базы данных средствами СУБД.Проанализируем самый безопасный метод, который не перезаписывает структуру базы данных целиком и исключает случайное удаление таблиц СУБД. Для этого потребуется файл конфигурации поставщика (.cf) ровно того же релиза, который установлен в текущей базе.
Разберем процесс по шагам:
cf_vendor.cf. Если кнопка недоступна, используем файл 1cv8.cf из каталога шаблона обновления точно такой же версии.cf_vendor.cf.F7 или через меню Конфигурация — Обновить конфигурацию базы данных.В результате все типовые объекты поставщика вновь окажутся на замке («не редактируются»), а добавленный регистр сведений останется на своем месте со всеми накопленными данными.
Рассмотрим альтернативный способ, который успешно применяется, если предыдущий вариант вызывает сложности при ручной расстановке правил поддержки.
Разберем порядок действий:
custom.cf).vendor.cf).vendor.cf. Важно: на этом шаге не применяем изменения клавишей F7, чтобы база данных не реструктуризировалась с удалением таблиц!custom.cf. В дереве сравнения оставим флаги только на добавленных объектах (нашем регистре сведений).F7).В современных версиях платформы 1С:Предприятие 8.3 функционал расширений поддерживает создание собственных таблиц данных (справочников, документов и регистров сведений). Это позволяет вернуть основную конфигурацию на полную типовую поддержку (замок на корне, возможность изменения полностью отключена), что гарантирует безупречную работу автоматического фонового обновления через режим «1С:Предприятие».
Разберем алгоритм переноса данных в расширение:
НаборИсточник = РегистрыСведений.НашПользовательскийРегистр.СоздатьНаборЗаписей();
НаборИсточник.Прочитать();
НаборПриемник = Расширение_РегистрыСведений.НашПользовательскийРегистр.СоздатьНаборЗаписей();
Для Каждого Запись Из НаборИсточник Цикл
ЗаполнитьЗначенияСвойств(НаборПриемник.Добавить(), Запись);
КонецЦикла;
НаборПриемник.Записать();
vendor.cf через Конфигурация — Загрузить конфигурацию из файла... и применим изменения (F7).В итоге основная конфигурация остается на 100% типовой, замки на всех объектах и корне восстановлены, а пользовательский функционал продолжает полноценно работать внутри расширения.