ADG Оставить заявку
Блог Интеграции 4 мин чтения

1С 8.3 на SQL Server: интерфейс Такси и несовместимость внешних компонентов

Переводим клиента с 1С:Предприятие 8.2 на 8.3 в серверном варианте на SQL Server. Новый интерфейс Такси и сюрприз с внешними компонентами.

Контекст момента

1С:Предприятие 8.3 вышло в 2013 году с новым интерфейсом Такси и расширенной поддержкой тонкого и веб-клиента.

Задача на первый взгляд выглядела рутинной: обновить 1С:Бухгалтерию и 1С:Управление торговлей с платформы 8.2 на 8.3 у клиента с серверным вариантом на SQL Server 2012. Релиз новый, конфигурации подтянулись под него, вендор говорит «мигрируйте». Решили, что дня три и всё готово. Не угадали.

Первое, с чем столкнулись - не база данных и не SQL Server. Новый интерфейс Такси, который 1С продвигает как замену классическому, оказался настоящим потрясением для пользователей. Бухгалтеры, которые за несколько лет привыкли к расположению панелей, меню и функциональных кнопок, зашли в систему и увидели незнакомую картину. Звонки в первые два часа после включения нового интерфейса шли один за другим: «где журнал проводок», «куда делась строка поиска», «почему кнопки переехали».

Технически Такси работает, и работает неплохо - панели адаптируются, есть поддержка тонкого клиента через браузер, навигация стала логичнее с точки зрения разработчика. Но логика разработчика и логика бухгалтера, которая шестой год открывает один и тот же журнал одним и тем же движением мыши, - это разные логики. Пришлось устраивать внеплановый сеанс переобучения, буквально сидеть рядом с ключевыми пользователями и показывать, где теперь что. На обход пяти рабочих мест ушло полдня.

Хорошо, что в 8.3 пока сохранена возможность переключиться обратно на классический интерфейс. Мы это и сделали как временную меру - включили клиентам классику, чтобы они могли работать без стресса, пока мы займёмся более острой проблемой.

Вторая история вышла неприятнее. У клиента стоял внешний компонент - сканер штрихкодов в торговом зале, подключённый через самописную COM-обёртку, которую написал их программист 1С года три назад под платформу 8.2. После обновления платформы компонент перестал грузиться: 1С ругалась на несовместимость при загрузке внешней компоненты. Торговый зал встал.

Диагностика показала вполне предсказуемую причину: в 8.3 изменились требования к подписи и регистрации внешних компонент, плюс версия Native API сдвинулась. Старая COM-обёртка была скомпилирована под требования 8.2 и в новой среде просто не инициализировалась. Программист клиента, который это писал, уволился полгода назад - классика.

Выходили из ситуации в два этапа. Сначала откатили модуль торгового зала обратно на 8.2 (серверный вариант позволяет держать несколько версий платформы параллельно, это и спасло). Параллельно изучили, что предлагает вендор оборудования - у него оказался нормальный драйвер с поддержкой 8.3, просто клиент о нём не знал и годами сидел на самописной обёртке. Установили официальный драйвер, проверили на тестовом контуре, подняли торговый зал уже на 8.3.

Итого потеряли около двух дней на то, чего не ожидали. Вот что по факту вошло в работу по интеграции 1С-систем в этом проекте:

  • Предварительный аудит внешних компонентов - теперь обязательный шаг перед любым обновлением платформы. Список всех COM-объектов, внешних обработок, компонент с проверкой совместимости заранее.
  • Пользовательский тест-кейс для интерфейса - перед финальным переключением на Такси нужен прогон с реальными пользователями, а не только с ИТ-командой.
  • Параллельный стенд - серверный вариант даёт такую возможность, грех не использовать при переходе на новую платформу.

Клиент сейчас работает на 8.3 с классическим интерфейсом. К Такси они вернутся, когда немного освоятся и пройдут обучение в штатном режиме, а не в пожарном. Компонент штрихкодирования работает через официальный драйвер без нареканий.

Общее впечатление от 8.3: платформа получилась серьёзная, веб-клиент и тонкий клиент работают заметно лучше, чем в 8.2. Но вендор традиционно не уделяет достаточно внимания тому, что у людей уже стоит в продакшне и что это обновление с собой тянет. Список несовместимостей в документации есть, но он далеко не полный - часть выясняется только при реальном запуске.

Контакт

Нужна такая же инженерная работа?

Опишите задачу и контекст. Ответим в течение рабочего дня, при необходимости подпишем NDA.