Переход с редакции 2.0 на 3.0 конфигурации «1С:Бухгалтерия предприятия» (БП) — это неизбежный шаг для любой организации, стремящейся соответствовать современным требованиям законодательства. Официальная поддержка старой редакции полностью прекращена, поэтому продолжать вести в ней учет невозможно. Однако, если конфигурация на протяжении многих лет дорабатывалась штатными специалистами и сторонними франчайзи, стандартное обновление в один клик превращается в сложнейшую техническую задачу.
В этой статье мы подробно разберем, как осуществить этот переход наиболее безболезненно, сохраняя при этом важную историю движений за прошлые годы, настроенную нормативно-справочную информацию (НСИ) и ключевой функционал доработок.
Перед началом технических работ нам необходимо определиться со стратегией перехода. Существуют два принципиально разных подхода:
Если принято решение идти по пути сохранения истории, проанализируем последовательность действий для успешного обновления измененной конфигурации.
Прежде чем приступать к техническим операциям в конфигураторе, проведем ревизию всех нетиповых объектов. Нам необходимо сравнить текущую рабочую конфигурацию с типовым шаблоном БП 2.0 аналогичного релиза. Все изменения разделим на четыре категории:
Любые ошибки в исходных данных гарантированно приведут к сбоям при реструктуризации таблиц во время обновления. Проведем обязательную техническую и логическую подготовку базы:
ТипСклада в справочнике Склады могло быть пустым. В БП 3.0 это недопустимо. Напишем простую обработку для заполнения пустых значений:
ВыборкаСкладов = Справочники.Склады.Выбрать();
Пока ВыборкаСкладов.Следующий() Цикл
Если Не ЗначениеЗаполнено(ВыборкаСкладов.ТипСклада) Тогда
ОбъектСклад = ВыборкаСкладов.ПолучитьОбъект();
ОбъектСклад.ТипСклада = Перечисления.ТипыСкладов.ОптовыйСклад;
ОбъектСклад.Записать();
КонецЕсли;
КонецЦикла;
Поскольку БП 2.0 функционирует на обычных формах, а БП 3.0 построена исключительно на управляемых формах (интерфейс «Такси»), автоматического преобразования интерфейса не произойдет. Измененные обычные формы документов и справочников при обновлении могут вызывать критические ошибки реструктуризации.
Важное правило: перед обновлением верните все доработанные формы в БП 2.0 к их типовому виду. Все кастомные реквизиты, добавленные в объекты метаданных, при этом должны быть сохранены. Сами же формы интерфейса мы будем отрисовывать на управляемом приложении заново, уже непосредственно в обновленной БП 3.0.
Также обратим внимание на иерархию критически важных справочников. Если у вас была переписана иерархия справочника Подразделения (или ПодразделенияОрганизаций), обновление может завершиться аварийно. Перед обновлением рекомендуется программно перенести элементы в корень справочника, а после завершения перехода восстановить иерархическую структуру.
Для корректного выполнения миграционных скриптов пользователю, под которым будет выполняться первый запуск БП 3.0 в режиме «Предприятие», необходимо назначить специальную роль. В конфигурации БП 2.0 перед началом обновления обязательно добавьте пользователю-администратору роль Администратор системы (для перехода на ред. 3.0).
Переход осуществляется через специальный дистрибутив обновления (переходный релиз), предоставляемый фирмой 1С. Выясним правильную последовательность действий:
После того как технический переход на БП 3.0 завершен и все исторические документы сохранены, нам необходимо вернуть пользователям их доработанный функционал. Теперь вся разработка ведется по правилам управляемого приложения:
&НаКлиенте) и серверный (директива &НаСервере) контексты.Проанализируем пример перевода обработчика проведения документа с учетом требований управляемого приложения и тонкого клиента. Вместо модальных окон и прямого вызова серверных процедур используем асинхронность и четкое разделение контекста:
&НаКлиенте
Процедура ОбработкаКомандыВыполнить(Команда)
// Клиентская логика подготовки интерфейса
ПараметрыВыполнения = Новый Структура;
ПараметрыВыполнения.Вставить("ИмяОбъекта", "ДокументСсылка");
ВыполнитьОперациюНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаСервере БезКонтекста
Процедура ВыполнитьОперациюНаСервере(ПараметрыВыполнения)
// Тяжелые серверные вычисления и транзакционные операции
// Работа с базой данных ведется исключительно здесь
КонецПроцедуры
Чтобы в дальнейшем не тратить колоссальные усилия на обновление БП 3.0, применим современную технологию платформы — Расширения конфигурации.
Все наши созданные управляемые формы, новые реквизиты и доработки типовых процедур постараемся перенести в отдельный контейнер расширения. Саму основную конфигурацию «1С:Бухгалтерия предприятия» при этом снимем с изменения и поставим на полную поддержку. Это позволит обновлять базу в будущем в автоматическом режиме, а весь уникальный код компании будет обновляться изолированно внутри расширения.
После завершения перехода обязательно проконтролируем правильность работы системы:
Рассмотренная нами методика требует аккуратности, хороших навыков программирования и детального тестирования на копии базы данных. Однако именно этот путь позволяет получить современную, автоматически обновляемую систему БП 3.0 с полным сохранением всей многолетней истории учета и специфических бизнес-алгоритмов вашей компании.