При сопровождении нескольких информационных баз с идентичными доработками (нетиповых конфигураций) перед программистом встает задача оптимизации процесса обновления. Выполнять трудоемкое ручное сравнение и объединение для каждой базы отдельно — процесс долгий и чреватый ошибками. Рассмотрим эффективный алгоритм, при котором основная работа выполняется в одной «эталонной» базе, а результат тиражируется в остальные базы через файл конфигурации (.cf).
Представим сценарий: у нас есть три базы 1С:Бухгалтерия предприятия 3.0. Все они сняты с полной поддержки, и в них внесены одинаковые изменения. Проанализируем, можно ли подготовить обновление один раз и «накатить» его на все остальные базы. Выясним, какие риски при этом возникают и как их минимизировать.
Важное условие: базы должны быть действительно идентичными по происхождению. Это означает, что они либо созданы копированием одной и той же базы, либо в них ранее конфигурация загружалась из одного и того же файла .cf. Если базы создавались независимо, даже при одинаковом наборе метаданных их внутренние идентификаторы (UUID) будут различаться, что приведет к катастрофическим последствиям при прямой загрузке конфигурации.
Разберем детально процесс подготовки и тиражирования обновления, который позволяет сэкономить время и гарантирует идентичность всех баз в группе.
Конфигурация — Поддержка — Обновить конфигурацию. На этапе сравнения и объединения воспользуемся фильтром «Дважды измененные свойства». Проанализируем каждый объект:
F7) и запустить систему в режиме «1С:Предприятие». Разберем, почему это важно: в этот момент срабатывают обработчики обновления данных, которые реструктуризируют информацию в таблицах. Только после успешного завершения всех фоновых процедур в «Результатах обновления» можно считать этап подготовки завершенным.Конфигурация — Сохранить конфигурацию в файл.... Мы получим готовый файл .cf, содержащий обновленную конфигурацию и актуальную версию конфигуратора поставщика.Проанализируем технические нюансы двух основных способов применения подготовленного файла .cf к рабочим базам.
Метод Конфигурация — Загрузить конфигурацию из файла... является самым быстрым, но и самым опасным. Проанализируем последствия:
UUID) отличаются от эталонной, платформа воспримет это как удаление старых объектов и создание новых. Это приведет к полной очистке данных в соответствующих справочниках и документах!Вывод: Используйте загрузку .cf только в том случае, если вы на 100% уверены, что базы — клоны. Если есть сомнения, лучше выбрать второй вариант.
Более безопасный метод — Конфигурация — Сравнить, объединить с конфигурацией из файла.... Рассмотрим особенности этого подхода:
UUID остались прежними.Выясним причину возникновения «северного пушистого зверька» (потери данных) при неправильном обновлении. В 1С каждый объект метаданных (например, Справочник.Контрагенты) имеет скрытый уникальный идентификатор. Платформа сопоставляет таблицы в SQL именно по этим UUID.
Проанализируем ситуацию с предопределенными элементами. Если в эталонной базе вы добавили предопределенный элемент вручную, а затем загрузили .cf в другую базу, где такой элемент уже был создан (но с другим внутренним кодом), система может создать дубль. Чтобы этого избежать, всегда придерживайтесь правила: все изменения структуры и предопределенных данных вносятся только в одной базе, которая затем становится источником .cf для остальных.
После того как вы применили конфигурацию к рабочей базе, не забудьте про этап «Предприятие». Рассмотрим важные шаги:
Администрирование — Обслуживание — Результаты обновления и дополнительные процедуры.Если вы обновляете много баз (например, 10 или 20), проанализируем возможность автоматизации. Платформа 1С позволяет запускать процесс обновления из командной строки. Пример команды для загрузки конфигурации:
"C:\Program Files\1cv8\common\1cestart.exe" DESIGNER /F "ПутьКБазе" /LoadCfg "C:\Updates\NashaKonfa.cf" /UpdateDBCfg
Использование скриптов минимизирует человеческий фактор и гарантирует, что во все базы попадет один и тот же проверенный файл конфигурации.
В заключение разберем современный подход, который позволяет избежать сложностей с «дважды измененными свойствами». Старайтесь выносить все свои доработки в Расширения конфигурации. В этом случае:
.cf файлами.Таким образом, правильная стратегия обновления нетиповых баз — это сочетание тщательной подготовки эталона, контроля идентификаторов (UUID) и обязательного завершения всех процедур в режиме «Предприятие».