Конфигурация «1С:Управление производственным предприятием» (УПП) исторически построена на классическом («обычном») интерфейсе. В отличие от современных конфигураций на управляемых формах, обычные формы крайне чувствительны к изменениям в ядре технологической платформы «1С:Предприятие 8.3». Разработчики фирмы «1С» практически не оптимизируют код платформы под устаревший обычный интерфейс, из-за чего системные администраторы и программисты регулярно сталкиваются с багами: «сломанными» привязками, потерей фокуса ввода, искажением иконок и падением производительности.
В этой статье мы подробно проанализируем, как ведут себя различные линейки платформ 1С 8.3 при работе с «1С:УПП», разберем конкретные баги интерфейса и определим оптимальную стратегию выбора платформы.
---
Рассмотрим детально, с какими проблемами сталкиваются пользователи на различных версиях технологической платформы 1С 8.3:
Эти платформы долгое время считались эталоном стабильности для обычных форм. Отрисовка интерфейса происходила без искажений, привязки элементов форм работали корректно, а проблемы с фокусом окон отсутствовали. Однако использовать их сегодня невозможно. Современные релизы УПП, выпускаемые для поддержки изменений в законодательстве (маркировка, ФСБУ, новые формы отчетности), физически требуют платформу версии не ниже 8.3.14. При попытке запустить новую УПП на платформе 8.3.12 вы неизбежно получите критическую ошибку СУБД:
Ошибка SDBL: Ожидается выражение...
В этих версиях начали появляться первые серьезные проблемы с привязками окон. Системные администраторы отмечают баг: если пользователь открывает и разворачивает форму документа на весь экран, элементы (кнопки, табличные части, поля ввода) остаются прежнего размера и кучкуются в левой части экрана, вместо того чтобы пропорционально растягиваться по ширине. Также в некоторых релизах линейки 8.3.13 (например, 8.3.13.1865) наблюдаются периодические сбои привязок при изменении размеров окон вручную.
Начиная с версии 8.3.15, фирма «1С» существенно переработала дизайн и оформление клиентского приложения (изменились формы окон, рамки, системные шрифты), что вызвало волну недовольства среди консервативных пользователей УПП. Тем не менее, релиз 8.3.15.1830 зарекомендовал себя как один из наиболее стабильных для работы в файловом и клиент-серверном режимах. В нем решены критические проблемы производительности, характерные для более ранних версий 8.3.15, и минимизированы случаи аварийного завершения работы платформы.
Переход на платформу 8.3.16.1063 и последующие версии часто сопровождается резким негативом со стороны пользователей и разработчиков. Выделим ключевые баги обычных форм в этой ветке:
---
Если специфика учета требует регулярного обновления конфигурации УПП под требования законодательства, вам в любом случае придется использовать современные платформы (8.3.14 и выше, вплоть до актуальных 8.3.21 / 8.3.22). Разберем, как бороться с типовыми проблемами обычных форм на новых платформах.
Это самая частая жалоба пользователей при переходе на новые платформы. Если у монитора пользователя установлено масштабирование операционной системы Windows более 100% (например, 125% или 150% на UltraHD или FullHD мониторах), элементы обычных форм начинают «наползать» друг на друга, шрифты размываются, а границы табличных частей уходят за пределы экрана.
Решение:
Для исправления отображения элементов необходимо отключить масштабирование средствами операционной системы конкретно для приложения «1С:Предприятие». Разберем по шагам, как это сделать:
Для массовой настройки на компьютерах пользователей в домене Windows системный администратор может применить соответствующий ключ реестра через групповые политики (GPO):
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Program Files\\1cv8\\common\\1cestart.exe"="~ HIGHDPIAWARE"
---
Если на выбранном релизе платформы при программном открытии форм или отчетов теряется фокус ввода, программист может принудительно активировать окно формы в коде. Рассмотрим пример:
// Пример принудительной активации формы для обхода бага потери фокуса
ФормаДокумента = СсылкаНаДокумент.ПолучитьФорму("ФормаДокумента");
Если Не ФормаДокумента.Открыта() Тогда
ФормаДокумента.Открыть();
Иначе
// Если форма уже открыта, принудительно активируем её
ФормаДокумента.Активизировать();
КонецЕсли;
Метод Активизировать() заставляет операционную систему и платформу передать фокус ввода на форму, минимизируя последствия багов версий 8.3.15/8.3.16.
---
Важно понимать, что поиск «идеальной» версии платформы для УПП — это временное решение. Фирма «1С» официально утвердила план прекращения поддержки этой конфигурации:
Попытки остаться на старых версиях платформ (вроде 8.3.12 или 8.3.15) лишают вас возможности корректно сдавать отчетность и работать с государственными информационными системами (маркировка «Честный Знак», ЕГАИС, интеграция с банками и ВетИС), требования к которым постоянно ужесточаются.
Рекомендация: Единственным надежным техническим решением проблем обычных форм является планомерная миграция с «1С:УПП» на современные ERP-системы, спроектированные на управляемых формах и интерфейсе «Такси». Рассмотрите переход на «1С:ERP Управление предприятием 2» или «1С:Комплексная автоматизация 2». Эти конфигурации стабильно и быстро работают на самых последних и безопасных релизах платформы 1С 8.3, полностью поддерживают масштабирование DPI, веб-клиент и тонкий клиент.