Рано или поздно перед каждым системным администратором и разработчиком 1С встает классическая дилемма: стоит ли обновлять технологическую платформу 1С:Предприятие? С одной стороны, действует негласное золотое правило ИТ-инженеров: «Работает — не трогай». С другой стороны, фирма «1С» регулярно выпускает обновления прикладных конфигураций (таких как «Зарплата и управление персоналом» или «Бухгалтерия предприятия»), которые в принудительном порядке требуют перехода на более свежие версии платформы. Без этого невозможно накатить критически важные обновления конфигураций, связанные с изменением законодательства и сдачей регламентированной отчетности.
В этой статье мы подробно проанализируем ситуацию, с которой столкнулось сообщество при выходе линеек платформы 8.3.15 и 8.3.16. Мы разберем причины возникновения наиболее опасных багов этих версий, выясним, что скрывается за загадочным термином «эксперимент с Cairo», почему принтеры Kyocera отказывались печатать в терминальных сессиях, как обойти жесткие ограничения лицензирования КОРП/ПРОФ и как правильно выстроить стратегию перехода на новую платформу без ущерба для стабильности бизнеса.
---
Рассмотрим типовую ситуацию. Вы работаете на стабильной и проверенной временем платформе (например, 8.3.14.1779). Все бизнес-процессы отлажены, обмены между базами («Управление торговлей», «Бухгалтерия предприятия», «Зарплата и управление персоналом») функционируют без сбоев. Но наступает отчетный период, законодательство меняется (например, вводится новая форма отчетности вроде СЗВ-ТД для электронных трудовых книжек), и фирма «1С» выпускает очередные релизы конфигураций.
При попытке обновиться вы видите предупреждение:
«Внимание! Текущая версия конфигурации предназначена для использования с версией технологической платформы 1С:Предприятие 8 не ниже 8.3.15.1830 (или 8.3.14.1976)».
Вы заходите на сайт поддержки пользователей ИТС и видите список доступных платформ. Каждая из них содержит внушительный перечень известных ошибок (багов), исправление которых планируется лишь в будущих версиях. Возникает закономерный страх: переход на новую платформу может парализовать работу компании из-за внезапных падений сервера, проблем с печатью или обменом данными.
Давайте разберем по шагам ключевые технические проблемы платформ 8.3.15 и 8.3.16, чтобы понимать природу их возникновения и способы локализации.
---
В ветке 8.3.16 разработчики «1С» пошли на масштабный архитектурный шаг — внедрили кроссплатформенную библиотеку векторной графики Cairo для рендеринга интерфейса клиентских приложений под всеми операционными системами (Windows, macOS, Linux).
Зачем это было сделано?
Ранее под каждую операционную систему использовались свои «родные» графические библиотеки. Это приводило к тому, что один и тот же интерфейс «Такси» мог выглядеть по-разному на Windows-клиенте и Linux-клиенте. Переход на Cairo позволил унифицировать отображение элементов интерфейса, улучшить масштабирование на HighDPI-мониторах и упростить разработку веб-клиента.
Какие проблемы это вызвало?
Поскольку это было глобальное изменение «под капотом» платформы, первые релизы ветки 8.3.16 (в частности, популярный на тот момент 8.3.16.1063) столкнулись с лавиной графических и интерфейсных багов:
---
Одной из самых болезненных проблем платформы 8.3.16 стала невозможность корректной печати документов на принтерах марки Kyocera (а также на некоторых моделях Brother и Konica Minolta) при работе пользователей в терминальном режиме (через Remote Desktop Protocol — RDP).
Выясним причину проблемы:
Внедренная библиотека Cairo изменила механизм формирования графического потока, отправляемого на спулер печати Windows. При использовании перенаправленных принтеров (redirected printers) в RDP-сессии драйверы Kyocera (особенно использующие технологии KPDL или оригинальные драйверы KX) не могли корректно обработать специфические вызовы Cairo. 1С либо зависала при попытке открыть диалог печати, либо отправляла на принтер пустые листы, либо полностью роняла процесс 1cv8.exe в дамп.
Фирмой «1С» был зарегистрирован официальный баг под номером 10212820 (HL-32892). Примечательно, что в качестве временного решения (Workaround) разработчики рекомендовали отказаться от терминального доступа или заменить принтеры, что в условиях реального бизнеса было практически невыполнимо.
Как решать эту проблему, если вам необходимо использовать 8.3.16:
8.3.16.1148 и выше).---
Еще один неприятный сюрприз первых релизов 8.3.16 — неконтролируемое поведение фоновых заданий. Системные администраторы сталкивались с ситуацией, когда через несколько часов после перезапуска службы кластера серверов 1С загрузка процессоров на сервере уходила в 100%, а вся доступная оперативная память мгновенно исчерпывалась, даже если активных пользователей в системе не было.
Проанализируем ситуацию: фоновые задачи (например, регламентные задания по слиянию индексов полнотекстового поиска, обновлению классификаторов или получению почты) запускались циклически. Из-за внутренней ошибки платформы процесс выполнения фонового задания не завершался корректно, память не высвобождалась (происходила утечка), а процессы rphost.exe начинали бесконечно утилизировать ядра процессора.
Как с этим бороться:
8.3.15.1778 или 8.3.15.2001), где этот механизм работал более предсказуемо.---
Если вы решили пропустить «сырую» 16-ю ветку и остановиться на 8.3.15, вас может подстерегать другая проблема — жесткое разделение лицензий КОРП и ПРОФ.
Начиная с сентября 2019 года, фирма «1С» существенно ужесточила контроль за использованием функций уровня КОРП в платформе 8.3.15. Платформа блокирует запуск системы, выдавая ошибку лицензирования, если обнаруживает использование расширенных функций кластера без КОРП-лицензий, даже если у вас работает всего несколько пользователей.
Что относится к КОРП-функциям, которые могут быть случайно включены:
rphost).Если ваш системный администратор ранее производил тонкую настройку сервера 1С для оптимизации производительности СУБД, то после установки 8.3.15 сервер может отказаться работать с лицензиями ПРОФ. Чтобы вернуть систему к жизни, необходимо зайти в свойства кластера через утилиту администрирования и сбросить все вышеописанные параметры в значения по умолчанию (обычно в значение 0).
---
Рассмотрим практический кейс из обсуждения на форуме. Компании необходимо сдавать отчетность по электронным трудовым книжкам (форма СЗВ-ТД). Конфигурация «Зарплата и управление персоналом» (ЗУП) версии 3.1.12 требует для своей работы платформу не ниже 8.3.14.1976. Однако текущая рабочая платформа — 8.3.14.1779, а сама конфигурация ЗУП сильно доработана (находится на поддержке с изменениями).
Как поступить в такой ситуации, чтобы минимизировать риски?
Разобьем решение на шаги:
Не всегда нужно бежать за самым последним релизом конфигурации. Фирма «1С» часто поддерживает изменения законодательства сразу в нескольких ветках. В нашем случае форма СЗВ-ТД была успешно реализована не только в новой ветке ЗУП 3.1.12, но и в рамках длительно поддерживаемой стабильной ветки ЗУП 3.1.10 (начиная с релиза 3.1.10.348). Это позволило компаниям сдавать отчетность, оставаясь на старой платформе и не ввязываясь в экстренное и опасное обновление платформы в разгар отчетного периода.
Если обновить платформу все-таки необходимо (например, для новой БП 3.0), не стоит сразу прыгать на самый последний релиз ветки 8.3.16. Действуйте поэтапно:
8.3.14.1779 на финальный стабильный релиз этой же ветки — 8.3.14.1993. Это наиболее безопасный шаг, так как ядро платформы не меняется кардинально, а большинство критических ошибок ветки уже исправлено.8.3.15.1830 или более поздний 8.3.15.2001). Данная ветка к началу 2020 года уже прошла массовое тестирование и стабилизировалась.Перед тем как запустить пользователей на новую платформу, выполните следующие действия в тестовой среде:
comcntr в системном реестре. Регистрация выполняется вручную через командную строку:
regsvr32 "C:\Program Files\1cv8\8.3.15.2001\bin\comcntr.dll"
---
Выбор стабильной версии платформы 1С — это всегда баланс между новыми возможностями, требованиями обновлений и стабильностью системы. Подведем итоги анализа:
8.3.16.1148 и выше).Помните, что залог успешного обновления — это постепенность, обязательное тестирование на копиях баз данных и глубокое понимание технических изменений, которые разработчики вносят в новые релизы технологической платформы 1С:Предприятие.