1С:Предприятие 8.1 - тестируем миграцию с 8.0 и пишем чеклист
Фирма «1С» объявила платформу 8.1 с переработанной клиент-серверной архитектурой. Пробуем переехать с 8.0: конфигуратор, проверка базы, тест отчётов.
Фирма «1С» выпускает платформу 1С:Предприятие 8.1 осенью 2006 с улучшенной клиент-серверной архитектурой и доработанным механизмом работы с информационными базами
Письма от фирмы «1С» с уведомлением об 8.1 начали приходить партнёрам примерно месяц назад. Несколько клиентов, которых мы сопровождаем на 8.0, уже спросили: «а нам надо переходить?». Ответ - пока смотрим. Решили поставить лабораторный тест раньше, чем кто-нибудь из клиентов нажмёт «обновить» сам.
Что изменилось в 8.1
Из материалов «1С» следует: переработана клиент-серверная архитектура, улучшена работа с кластером 1С-серверов, появились новые механизмы работы с информационными базами и ряд изменений в синтаксисе встроенного языка. Совместимость конфигураций с 8.0 заявлена, но с оговорками - некоторые методы устарели, и конфигуратор об этом скажет. На этом «анонсе» мы и остановились: всё остальное надо трогать руками.
Стенд и исходные данные
Для теста взяли копию боевой базы одного из клиентов - небольшое предприятие, типовая конфигурация «Управление торговлей» на 8.0, SQL Server в связке. Развернули на отдельной машине, не трогая прод. Это обязательное условие: никаких экспериментов прямо на рабочих данных.
Платформу 8.1 поставили рядом - оба экземпляра на одном сервере в разных папках. Так можно быстро переключаться и сравнивать.
Чеклист миграции - что мы прогнали
Список шагов, который получился по итогам:
Шаг 1 - резервная копия перед всем. Звучит очевидно, но у нас это отдельный пункт, который проверяется явно. Бэкап базы в формате 8.0 плюс бэкап SQL-базы напрямую - на случай если конвертер что-то испортит на уровне таблиц.
Шаг 2 - проверка информационной базы в 8.0. Перед конвертацией запускаем «Тестирование и исправление информационной базы» в конфигураторе 8.0. Если есть ошибки ссылочной целостности или битые объекты - чинить до перехода, не после. В нашем случае нашлись несколько битых ссылок в регистре накопления - починили.
Шаг 3 - конвертация конфигурации в конфигураторе 8.1. Открываем базу через конфигуратор новой версии. Платформа сама предложит обновить конфигурацию до нового формата. На этом шаге конфигуратор 8.1 выдал предупреждения по нескольким устаревшим методам встроенного языка - в типовой конфигурации их оказалось немного, но они есть. Записываем все как есть, не игнорируем.
Шаг 4 - повторная проверка информационной базы в 8.1. После конвертации снова запускаем тестирование - уже средствами 8.1. Ошибок не было, но шаг пропускать не стоит.
Шаг 5 - тест базовых операций. Открываем клиентское приложение 8.1, заходим в базу и руками проверяем:
- проведение документов (поступление товара, реализация, оплата)
- формирование ключевых отчётов (остатки товаров, взаиморасчёты с контрагентами)
- закрытие периода - хотя бы в тестовом режиме
- работу с журналом регистрации
У нас всё прошло без ошибок. Отчёты открылись, данные совпали с тем, что было в 8.0.
Шаг 6 - нагрузочный прогон. Формирование тяжёлых отчётов за большой период - смотрим, нет ли деградации по времени. Подробнее про нагрузку мы писали применительно к базам данных вообще - принцип тот же, что в нашем посте про нагрузочное тестирование перед запуском.
Шаг 7 - документирование устаревших методов. Список предупреждений конфигуратора - это не мусор, а карта будущей работы. Если конфигурация нетиповая или доработанная - этот список может быть длинным и потребует времени на переработку кода.
Что получилось
На типовой конфигурации миграция прошла чисто - за исключением предупреждений по устаревшим методам, которые в данном случае не влияли на работу. Отчёты считаются, документы проводятся, база не падает.
Это, впрочем, тепличные условия: типовая конфигурация, небольшой объём данных, SQL Server без экзотических настроек. На клиентах с сильно доработанными конфигурациями список предупреждений будет другим. Там придётся разбираться отдельно с каждым устаревшим вызовом - просто «принять и обновить» может не сработать.
Ещё один момент - скорость работы. На нашем стенде субъективно примерно то же самое, что на 8.0. Производительных прорывов не заметили, регрессий тоже нет. Возможно, улучшения в клиент-серверной части проявятся заметнее на большом количестве одновременных пользователей - но это нам ещё проверять.
Что дальше
Клиентам пока говорим: не торопитесь. Платформа новая, типовые конфигурации подтянутся чуть позже, а до квартального закрытия - не лучшее время для экспериментов. Миграцию планируем, когда будет нормальное окно обслуживания и проверенный чеклист под конкретную конфигурацию.
Чеклист выше - отправная точка. Для проектов с доработанными конфигурациями к нему добавится отдельный этап аудита кода. Именно в этой части работа по интеграции и сопровождению 1С-систем занимает больше всего времени - не сама конвертация, а то, что вылезает из предупреждений конфигуратора.