Переход с редакции 2.0 на 3.0 для конфигурации «1С:Бухгалтерия предприятия» — это не просто очередное обновление, а полноценная смена архитектурной платформы решения. Главное отличие заключается в полном отказе от обычных форм в пользу управляемого приложения. Именно этот технологический разрыв чаще всего становится причиной ошибок в базах данных, которые ранее подвергались доработкам и находились в состоянии «Объект поставщика редактируется с сохранением поддержки».
В процессе такого обновления Конфигуратор 1С часто выдает объемный список ошибок в журнале регистрации, сообщая о невозможности удаления устаревших объектов (форм, интерфейсов, макетов). В этой статье мы подробно разберем, почему возникает эта проблема, и рассмотрим проверенные практические методы ее решения.
Проанализируем механику процесса обновления. В дистрибутиве «1С:Бухгалтерия предприятия 3.0» старые обычные формы и интерфейсы полностью отсутствуют — разработчики фирмы «1С» удалили их из конфигурации поставщика за ненадобностью. Однако, если ваша база 2.0 была изменена пользователем, Конфигуратор фиксирует наличие пользовательских правок в этих объектах. При попытке стандартного наката обновления система пытается сопоставить объекты основной конфигурации и новой конфигурации поставщика. Видя, что в поставке объекта нет, а в вашей базе он помечен как измененный, система блокирует его автоматическое удаление, чтобы не потерять ваши данные. В результате процесс прерывается критической ошибкой.
Для решения этой проблемы мы можем использовать несколько стратегий в зависимости от того, насколько критичны выполненные ранее доработки.
Если вы хотите выполнить обновление измененной базы «в лоб», сохранив структуру метаданных, нам потребуется вручную разрешить Конфигуратору удалить устаревшие объекты. Разберем этот процесс по шагам:
.dt) перед началом любых манипуляций.После завершения сравнения и объединения запустите процесс обновления базы данных (клавиша F7).
Этот метод является наиболее надежным и рекомендуемым в среде профессиональных разработчиков 1С. Поскольку весь старый код обычных форм редакции 2.0 в редакции 3.0 все равно работать не будет (его придется переписывать под управляемые формы с нуля), наиболее разумно — полностью очистить конфигурацию от доработок перед обновлением, обновиться на «чистую» 3.0, а затем перенести доработки современными методами.
Важное предупреждение: если в вашей базе 2.0 были созданы уникальные справочники, документы или добавлены новые реквизиты к типовым объектам, в которых хранятся важные данные учета, прямая загрузка чистого .cf приведет к удалению этих полей и потере данных из СУБД! Используйте этот метод, только если доработки касались исключительно кода, экранных форм, отчетов, либо если вы планируете переносить накопленные данные отдельно.
Рассмотрим алгоритм сброса конфигурации на поддержку по шагам:
.cf) строго той же версии, которая установлена у вас сейчас (например, 2.0.66.54)..cf..cfu.После успешного перехода на 3.0 все необходимые доработки рекомендуется реализовать заново, но уже не изменением конфигурации, а с использованием современных механизмов платформы. Разберем пример того, как можно программно подключить обработчик события при создании формы в расширении конфигурации (механизм .cfe), не снимая основную базу с поддержки:
&НаКлиенте
Процедура Расш1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
// Наш доработанный код, который отработает после типового события формы
Сообщить("Форма успешно модифицирована через расширение!");
КонецПроцедуры
Использование расширений позволит вам в дальнейшем без проблем обновлять БП 3.0 в полностью автоматическом режиме.
Помимо решения проблемы с формами, успешный переход требует соблюдения еще нескольких критически важных условий, которые часто упускают из виду:
1. Назначение роли для перехода. Перед запуском первого сеанса в режиме «1С:Предприятие» после обновления конфигурации, обязательно зайдите в список пользователей в Конфигураторе. Найдите учетную запись администратора, под которой будет выполняться первый запуск, и проверьте его права. Помимо роли ПолныеПрава, ему обязательно должна быть назначена специальная роль АдминистраторСистемыДляПереходаНаРед3 (или аналогичная служебная роль перехода). Без этого обработчики обновления в режиме предприятия завершатся аварийно из-за нехватки прав доступа на реструктуризацию таблиц СУБД.
2. Проблема нехватки оперативной памяти. Обновление БП с 2.0 на 3.0 — ресурсоемкий процесс. На 32-битных клиентах платформы вы практически гарантированно столкнетесь с ошибкой Out of memory (недостаточно памяти). Чтобы избежать этого, выполняйте процедуру перехода исключительно на 64-разрядной версии платформы 1С:Предприятие с объемом оперативной памяти на компьютере не менее 8–16 Гб.
3. Проверка транзитных релизов. Помните, что обновиться напрямую с любого старого релиза 2.0 на актуальный релиз 3.0 невозможно. Обязательно сверяйтесь с официальной таблицей совместимости релизов фирмы «1С». Возможно, вам придется сначала обновить конфигурацию 2.0 до определенного промежуточного «моста» (например, до финального релиза ветки 2.0), и только с него запускать обновление на совместимую стартовую версию 3.0.
4. Предварительное тестирование. Перед обновлением обязательно запустите процедуру Тестирование и исправление (меню Администрирование — Тестирование и исправление...) со следующими включенными опциями:
Это позволит очистить базу от «битых» ссылок и скрытых ошибок в таблицах данных, которые могут заблокировать реструктуризацию при переходе на новую версию.