Переход на новые версии платформы для такой массивной конфигурации, как 1С:Управление производственным предприятием (УПП), всегда сопряжен с рисками. Основная мотивация для перехода с проверенной 8.3.12 на более свежую 8.3.18 обычно заключается в необходимости использования новых технологий, таких как PWA (Progressive Web Apps) или расширенные возможности веб-клиента. Однако «полет» на новой платформе может оказаться не совсем гладким, если не учесть архитектурные изменения.
В этой статье мы подробно разберем, с какими трудностями сталкиваются специалисты при обновлении платформы для УПП, проанализируем причины нестабильности 32-битных систем и выясним, как правильно адаптировать код под новые требования.
Одной из самых острых проблем при работе УПП на платформе 8.3.18 является нестабильность 32-битного клиента. Рассмотрим ситуацию: база работает в обычном режиме, но при попытке сформировать тяжелый отчет (например, «Ведомость по запасам» за большой период) или при выполнении закрытия месяца приложение просто закрывается без объяснения причин.
Выясним причину: УПП — это крайне «тяжелая» конфигурация. В ней сосредоточено огромное количество общих модулей, которые загружаются в память при старте. Платформа 8.3.18 сама по себе потребляет больше оперативной памяти, чем ветка 8.3.12. В 32-битной архитектуре адресное пространство ограничено 2 ГБ (в редких случаях 3.5 ГБ). Когда УПП на платформе 8.3.18 пытается обработать большой массив данных, она мгновенно упирается в этот лимит и вылетает с ошибкой Недостаточно памяти.
Решение: Единственным стабильным вариантом для работы УПП на этой версии платформы является переход на 64-битный клиент. Как показывает практика эксплуатации в крупных холдингах, 64-битные приложения работают корректно, так как не имеют жестких ограничений на объем используемой оперативной памяти. Если вы планируете переход, закладывайте в бюджет обновление клиентских лицензий и проверку совместимости парка ПК.
Переход на 64-битный клиент неизбежно тянет за собой проблему с драйверами. Разберем по шагам, почему это происходит:
Штрих-М или Атол ранних серий), используемые в УПП, работают через COM-компоненты.Чтобы решить эту ситуацию, проанализируем возможность использования Native API драйверов. Если производитель оборудования не выпустил 64-битный драйвер, вам придется использовать «прослойки» — например, выносить работу с торговым оборудованием на отдельный 32-битный компьютер или настраивать подключение через веб-сервер оборудования.
При запуске УПП на платформе 8.3.18 (даже если режим совместимости оставлен 8.2.19) могут возникать ошибки обращения к функциям, которых нет в старом коде, но которые ожидает увидеть обновленная среда выполнения. Часто это касается механизмов склонения или работы с почтой.
Посмотрим на пример решения через функции-заглушки. Если конфигурация требует функцию, которой фактически нет в вашем релизе УПП, или она конфликтует с системными вызовами платформы, мы можем создать глобальный модуль и перехватить вызов.
Проанализируем пример кода для обхода подобных ошибок:
// В общем модуле (глобальном) создаем функции,
// которые платформа ожидает найти при обновлении
Функция СклонениеПлатформы(Значение, ПараметрыСклонения) Экспорт
// Если в конфигурации используется внешняя компонента NameDecl.dll,
// вызываем её здесь, либо возвращаем исходное значение
Возврат Значение;
КонецФункции
Такой подход позволяет быстро «успокоить» систему без глобального переписывания логики обновления. Однако помните, что это временное решение, и в идеале стоит обновить саму конфигурацию до актуального релиза, поддерживающего требования платформы.
Важно помнить, что ветка 8.3.18 имеет свои «темные пятна». Разберем вопрос безопасности. В релизах ниже 8.3.18.1923 была обнаружена критическая уязвимость, позволяющая удаленно выполнять код на сервере.
Рекомендация: Если вы решили переходить на 8.3.18, используйте только сборку 8.3.18.1923 или выше. Использование более ранних билдов этой ветки (например, 8.3.18.1483) в современных условиях небезопасно, особенно если сервер 1С доступен извне или через веб-сервер.
Если ваша цель — PWA приложение, учтите следующие технические требования, которые не всегда очевидны:
http. Вам потребуется установить и настроить SSL-сертификат на веб-сервере (IIS или Apache).Предупреждение, Вопрос). В веб-клиенте на платформе 8.3.18 они могут блокировать работу. Рассмотрим необходимость установки свойства конфигурации Режим использования модальности в значение Использовать с пояснениями или полную переработку диалогов под асинхронные вызовы.8.3.18 окончательно перешла на движок WebKit для отображения HTML. Если в вашей УПП есть кастомные дашборды или встроенные инструкции с версткой под старый Internet Explorer, их внешний вид может «поехать». Рекомендуется заранее проверить отображение всех HTML-форм.Подводя итог, можно сказать: УПП на 8.3.18 работает стабильно при соблюдении двух условий: использование 64-битной платформы и выбор защищенного билда (1923+).
Мы проанализировали основные риски и выяснили, что большинство проблем решается либо техническим обновлением клиентских мест, либо внедрением небольших правок в программный код. Если ваша инфраструктура готова к переходу на 64 бита, то функционал 8.3.18, включая PWA, станет отличным подспорьем для развития вашей информационной системы.