← На главную
Перевод старой, сильно доработанной конфигурации с платформы 1С 8.2 на свежую версию 8.3 — задача, с которой сталкиваются многие команды. На первый взгляд, если не менять режим совместимости конфигурации, все должно работать как раньше. Однако между этими версиями платформы прошло больше 10 лет, и внутренние изменения в ней могут привести к неожиданным проблемам. Разберем по шагам, к чему готовиться, что проверять в первую очередь и как минимизировать риски.
Основная идея режима совместимости — обеспечить работоспособность старого кода конфигурации на новой платформе. Но этот режим не затрагивает изменения в самой архитектуре платформы: как она работает с памятью, оборудованием, базой данных и сетевыми протоколами. Именно здесь и кроются потенциальные проблемы.
Подготовительный этап и план тестирования
Утверждение "протестировать всё невозможно" справедливо для больших систем, но это не значит, что можно обойтись без тестирования вовсе. Ключ к успеху — в правильном планировании и приоритизации.
Составим пошаговый план действий:
- Создание тестовой среды. Первое и самое главное правило — все работы проводим на полной копии продуктивной базы. Разверните ее на сервере с целевой версией платформы 8.3.
- Техническая проверка базы. Перед началом функционального тестирования выполним обязательные технические процедуры на копии базы:
- Запустим Тестирование и исправление информационной базы (ТИИ) с установленными флагами реструктуризации и пересчета итогов. Первая реструктуризация под управлением новой платформы — критически важный этап.
- Выполним перестроение индекса полнотекстового поиска, если он используется.
- Определение ключевой функциональности. Совместно с пользователями и руководителями подразделений составим список самых важных бизнес-процессов. Это операции, остановка которых парализует работу компании. Например:
- Оформление заказов и отгрузка товаров.
- Расчет себестоимости и закрытие месяца.
- Формирование регламентированной и управленческой отчетности.
- Работа всех интеграций (с сайтом, банками, другими системами).
- Функционирование торгового оборудования на кассах и складах.
- Разработка плана тестирования. Для каждого пункта из списка ключевой функциональности определим глубину проверки. Где-то достаточно убедиться, что документ проводится, а где-то потребуется проверить все печатные формы, движения по регистрам и работу всех кнопок на форме.
- Привлечение пользователей. Часть тестирования можно и нужно делегировать ключевым пользователям. Они знают нюансы своей работы лучше, чем любой разработчик. Наша задача — предоставить им тестовую среду и четкие инструкции.
Ключевые риски и направления для проверки
Теперь рассмотрим конкретные области, где чаще всего возникают проблемы, даже если режим совместимости остается прежним (8.2.13 или аналогичный).
1. Внешние компоненты и торговое оборудование
Это одна из самых частых причин сбоев. Платформа 8.3 предъявляет более строгие требования к внешним компонентам, в частности, к тем, что разработаны по технологии Native API.
Что может сломаться:
- Сканеры штрих-кодов, терминалы сбора данных (ТСД).
- Фискальные регистраторы, принтеры чеков.
- Специализированные компоненты для интеграции с телефонией, весовым оборудованием и т.д.
Что делать: Проверить работу всего парка подключенного оборудования. Скорее всего, потребуется найти и установить обновленные драйверы и версии внешних компонент, которые официально совместимы с платформой 8.3. В некоторых случаях, если компонента самописная, ее придется пересобирать под новые требования платформы.
2. Изменения в архитектуре платформы и стабильность
Внутренние механизмы платформы 8.3 значительно отличаются от 8.2, что может проявиться в самых неожиданных местах.
На что обратить внимание:
- Управление памятью. Новая платформа иначе работает с памятью. Это может привести к росту потребления памяти серверными процессами
rphost. Нужно внимательно следить за ресурсами сервера после обновления, особенно под нагрузкой. Некорректно написанный старый код может спровоцировать утечки памяти.
- Регламентные и фоновые задания. Механизм фоновых заданий был переработан. Обязательно протестируйте выполнение всех критически важных регламентных заданий: обмены данными, расчеты, формирование отчетов по расписанию.
- Генерация отчетов и форм. Встречаются случаи, когда формирование сложных, динамически генерируемых отчетов или открытие "тяжелых" форм может приводить к аварийному завершению работы клиента ("крашу"). Необходимо протестировать формирование самых больших и проблемных отчетов.
3. Производительность и взаимодействие с СУБД
Платформа 1С является прослойкой между кодом конфигурации и СУБД (например, MS SQL Server). Новая версия платформы может генерировать несколько иные SQL-запросы для выполнения одних и тех же операций.
Возможные последствия:
- Замедление операций. Оптимизатор запросов СУБД может строить менее эффективные планы выполнения для новых вариантов SQL-запросов, что приведет к замедлению проведения документов, формирования отчетов и других ресурсоемких операций.
- Блокировки. Изменение планов запросов может повлиять на порядок блокировок таблиц в СУБД, что в системах с высокой нагрузкой может привести к увеличению числа взаимоблокировок.
Что делать: Провести замеры производительности ключевых операций до и после обновления на тестовой копии. Если выявится значительное замедление, потребуется анализ планов выполнения запросов на уровне СУБД и, возможно, оптимизация кода в конфигурации.
4. Интеграции: веб-сервисы и COM-соединения
Изменились подходы к работе с сетевыми протоколами и стандартами безопасности.
Что может сломаться:
- Веб-сервисы и HTTP-соединения. Платформа 8.3 по умолчанию использует более современные и безопасные протоколы шифрования (TLS 1.2+). Если внешний сервис, с которым вы обмениваетесь данными, все еще работает на устаревших протоколах (SSL, ранние версии TLS), соединение может не установиться.
- COM-соединения. Стабильность работы через COM-объект также требует тщательной проверки, так как на нее могут повлиять изменения в управлении памятью и контекстами безопасности платформы.
Что делать: Протестировать абсолютно все интеграции: загрузку курсов валют, обмен с сайтом, интеграцию с клиент-банком, взаимодействие с другими учетными системами.
Новые возможности, доступные даже в режиме совместимости
Несмотря на риски, обновление платформы несет и очевидные плюсы. Даже без повышения режима совместимости вы сможете использовать в новом коде и доработках ряд полезных инструментов:
- Более удобные и функциональные объекты для работы с HTTP-запросами (
HTTPСоединение, HTTPЗапрос).
- Встроенные функции для работы с форматом JSON.
- Новые функции языка запросов, например,
ВЫРАЗИТЬ или функции для работы со строками, такие как TRIM.
- Функции для работы с хэшированием.
Это позволяет решать современные задачи интеграции более простыми и стандартными средствами, не прибегая к внешним компонентам.
В заключение, обновление платформы для старой конфигурации — это не просто установка новой версии. Это полноценный проект, требующий тщательного планирования и всестороннего тестирования. Режим совместимости — это не гарантия, а лишь инструмент, который помогает облегчить переход. Основное внимание уделите проверке внешних зависимостей (оборудование, интеграции), производительности и стабильности критически важной самописной функциональности. Такой подход позволит провести обновление контролируемо и с минимальными рисками для бизнеса.