Переход с редакции 2.0 конфигурации 1С:Бухгалтерия предприятия (обычные формы) на редакцию 3.0 (управляемые формы) — одна из наиболее ответственных задач при сопровождении информационных систем. Если база данных находится на полной поддержке («на замке»), обновление обычно проходит в штатном режиме. Однако если конфигурация находится в режиме «Редактируется с сохранением поддержки», разработчики регулярно сталкиваются с блокирующими ошибками объединения метаданных.
В процессе сравнения и объединения конфигураций система выдает предупреждения вида: На удаляемый объект Справочник...Форма.ФормаСписка есть ссылки в объектах основной конфигурации: Интерфейс.Бухгалтерский.Интерфейс, Интерфейс.Полный.Интерфейс. Попытки снять отметки с удаляемых форм приводят к задвоению объектов, а ручное переименование порождает битые ссылки. Разберем по шагам, почему возникает эта коллизия и как правильно выполнить обновление доработанной базы.
Для понимания сути проблемы проанализируем архитектурные различия между редакциями:
Интерфейсы (например, Бухгалтерский, Полный, Административный). В их состав жестко прописывались ссылки на обычные формы документов, справочников, отчетов и обработок. В редакции 3.0 обычные формы полностью исключены из поставки, интерфейсы объявлены устаревшими, а навигация переведена на подсистемы и управляемый интерфейс «Такси».Интерфейс.Бухгалтерский и Интерфейс.Полный) на них все еще присутствуют жесткие ссылки. Возникает нарушение ссылочной целостности метаданных.Конфигурация — Сравнить, объединить с конфигурацией из файла. Этот инструмент не предназначен для сквозного обновления версий: он не сопоставляет внутренние идентификаторы (UUID) удаляемых и замещаемых объектов поставщика, что гарантированно приводит к задвоению справочников, документов и регистров.Поскольку в редакции 3.0 объекты ветки Интерфейсы больше не используются и подлежат упразднению, самым простым и действенным способом является их предварительное удаление перед процедурой обновления.
.dt или копию на уровне СУБД).Бухгалтерский и Полный (а также любые другие пользовательские интерфейсы, созданные на этапе эксплуатации редакции 2.0).Delete. Если они включены в состав ролей, подтвердим удаление связей.F7 (или выберем меню Конфигурация — Обновить конфигурацию базы данных) и применим изменения структуры.Если по организационным или технологическим причинам удалять интерфейсы вручную нежелательно, восстановим их до эталонного состояния конфигурации поставщика, чтобы механизм обновления отработал штатные правила удаления.
F7). Теперь ссылки внутри интерфейсов синхронизированы с исходным типовым состоянием, и штатный файл переходного обновления 3.0 сможет корректно удалить их вместе с обычными формами.Если в базе редакции 2.0 редактировалось всего несколько объектов (как часто бывает, 2–3 реквизита или печатные формы), наиболее надежный путь — полностью вернуть типовые объекты на замок, оставив редактируемыми только реальные доработки.
.cf того же релиза редакции 2.0 (через меню Конфигурация — Сравнить, объединить с конфигурацией из файла, не выполняя объединения, а только просматривая отчет о сравнении).Рассмотрим важные нюансы, несоблюдение которых может нарушить работу базы уже после успешного применения метаданных в конфигураторе:
2.0.66.XX на специальный релиз 3.0.XX.XX). Только после успешного обновления на переходную версию и первого запуска в режиме предприятия выполняется дальнейшее последовательное обновление до актуального релиза.Администратор системы (для перехода на ред. 3.0). Без этой роли регламентные и фоновые процедуры первоначальной конвертации данных не запустятся, что приведет к повреждению учетных регистров.Если конфигурация редакции 2.0 содержит большое количество устаревших нетиповых механизмов, перенос которых на управляемые формы не планируется, сквозное обновление конфигурации накатом может оказаться нецелесообразным. В такой ситуации предпочтительнее развернуть чистую типовую конфигурацию 1С:Бухгалтерия предприятия 3.0 и выполнить перенос справочников и входящих остатков на начало расчетного периода с помощью типовых правил конвертации данных. Все необходимые доработки в дальнейшем реализуются с помощью механизма расширений конфигурации (.cfe), что оставляет основную базу полностью на типовой поддержке.