При переходе с платформы 1С:Предприятие 7.7 на версию 8 у многих разработчиков возникает вопрос о корректном переносе доработок из тестовой базы в продуктивную. В версии 7.7 стандартной практикой была прямая загрузка файла метаданных, однако в платформе 1С 8 архитектура устроена иначе. Необдуманная полная загрузка конфигурации в рабочую базу может привести к необратимой потере данных, удалению добавленных реквизитов или сбою внутренних идентификаторов.
Разберем основные правила безопасности, а также несколько практических способов переноса изменений из копии в рабочую информационную базу.
Прежде чем приступать к переносу любых объектов в рабочую базу, обязательно выполним следующие подготовительные действия:
Администрирование — Выгрузить информационную базу (файл с расширением .dt) или делаем физическую копию файла 1Cv8.1CD. Для клиент-серверной базы создаем резервную копию средствами СУБД (SQL dump).Конфигурация — Загрузить конфигурацию из файла на рабочей базе, если в ней велась работа или параллельно выполнялись другие доработки. Данная операция полностью затирает конфигурацию базы данных и может безвозвратно удалить таблицы и поля, если их не было в файле загрузки.Этот способ является базовым инструментом платформы 1С 8 для выборочного переноса объектов и модулей между базами. Разберем по шагам весь процесс от выгрузки до применения изменений.
Конфигурация — Открыть конфигурацию (если она закрыта), затем нажимаем Конфигурация — Сохранить конфигурацию в файл.... Сохраняем файл с расширением .cf на локальный диск.Конфигурация — Сравнить, объединить с конфигурацией из файла.... В появившемся диалоге выбираем ранее сохраненный файл .cf.Снять все (снять все флажки).Показывать только измененные свойства. Находим в дереве именно те объекты, которые были добавлены или модифицированы в копии (например, новый документ, макет или процедура модуля), и устанавливаем флажки только напротив них.Выполнить. После завершения процесса применяем изменения к базе данных, нажав клавишу F7 (или меню Конфигурация — Обновить конфигурацию базы данных). В появившемся окне реструктуризации внимательно просматриваем список изменений и подтверждаем операцию.Рассмотрим экспресс-метод, который отлично подходит для переноса отдельных изолированных объектов метаданных — например, новой обработки, отчета или общего макета.
Ctrl + C (или контекстное меню — Копировать).Обработки) и нажимаем Ctrl + V (или контекстное меню — Вставить).F7 для обновления конфигурации базы данных.Важно: этот способ применим только для переноса новых независимых объектов. Если требуется изменить уже существующий типовой документ или модуль, использовать копирование нельзя — в таких случаях применяем сравнение и объединение.
Если задача заключается исключительно в добавлении новой печатной формы, лучшей практикой является вынос логики во внешнюю обработку. Это позволяет не снимать конфигурацию с поддержки и не трогать метаданные рабочей базы вовсе.
В типовых конфигурациях, построенных на базе Библиотеки стандартных подсистем (БСП), для интеграции внешней печатной формы достаточно объявить экспортную функцию в модуле объекта обработки. Посмотрим на типовую структуру регистрации:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Идентификатор");
Команды.Колонки.Добавить("Использование");
Команды.Колонки.Добавить("Представление");
СтрокаКоманды = Команды.Добавить();
СтрокаКоманды.Идентификатор = "МояПечатнаяФорма";
СтрокаКоманды.Использование = "ВызовСерверногоМетода";
СтрокаКоманды.Представление = "Новая печатная форма";
ПараметрыРегистрации.Вставить("Команды", Команды);
Возврат ПараметрыРегистрации;
КонецФункции
После подготовки обработки перенос выполняется без входа в конфигуратор: запускаем рабочую базу в режиме 1С:Предприятие, переходим в раздел Администрирование — Печатные формы, отчеты и обработки — Дополнительные отчеты и обработки и загружаем файл с диска.
Для современных версий платформы 1С 8.3 рекомендованным механизмом доработки типовых решений является механизм расширений. Он позволяет менять логику процедур, добавлять формы, отчеты и реквизиты без изменения основной конфигурации поставщика.
Конфигурация — Расширения конфигурации..cfe (кнопка Сохранить конфигурацию в файл в окне списка расширений).1С:Предприятие) и загружаем файл .cfe.Такой подход гарантирует сохранность типовой конфигурации на полной поддержке и значительно упрощает последующие обновления программы.