Перевод крупной производственной системы на базе 1С:Управление производственным предприятием (УПП) с обычных форм на управляемые — это масштабная задача, сравнимая по трудозатратам с полноценным внедрением новой системы. Особенно остро этот вопрос встает, когда целью является экономия на лицензиях Citrix при большом количестве одновременно работающих пользователей (более 300 человек). Рассмотрим подробнее, какие пути решения существуют, проанализируем риски и разберем по шагам стратегии миграции.
Прежде чем приступать к разработке, проанализируем ситуацию: конфигурация УПП 1.3 изначально построена на «толстом клиенте» и обычных формах. Веб-клиент работает исключительно с управляемыми формами. Это означает, что просто «включить» доступ через браузер невозможно. Предстоит полная переработка интерфейсной части и логики взаимодействия клиента и сервера.
Основные сложности, с которыми мы столкнемся:
&НаКлиенте и &НаСервере. Потребуется переписывание всех обработчиков событий.Вопрос() или Предупреждение() должны быть заменены на асинхронные вызовы с использованием описаний оповещений.Если основной целью является сокращение затрат на лицензии Citrix, выясним причину, по которой обычный RDP (Remote Desktop Services) считается неподходящим. Современные версии Windows Server предоставляют достаточно стабильные инструменты для работы 300 пользователей.
Рассмотрим альтернативные варианты:
XRDP позволяет полностью исключить затраты на лицензии Microsoft Windows Server и Citrix. Однако это требует высокой квалификации системных администраторов.Переписывать всю УПП целиком нецелесообразно, учитывая, что фирма «1С» планирует прекращение поддержки этой конфигурации в ближайшие годы. Вместо этого разберем по шагам стратегию частичного перевода на управляемые формы:
Шаг 1. Сегментация пользователей. Выделим группы пользователей, чья работа наиболее однотипна. Например, мастера смен, которые только вводят отчеты о производстве, или кладовщики. Их рабочие места (АРМ) можно перевести на управляемые формы в первую очередь.
Шаг 2. Разработка новых интерфейсов. Создадим новые управляемые формы только для необходимых объектов (документы «Отчет производства за смену», «Реализация товаров и услуг»). Всю сложную бухгалтерскую логику и расчет себестоимости оставим на обычных формах для административного персонала.
Шаг 3. Использование тонкого клиента. Для этих пользователей запустим 1С в режиме тонкого клиента (через веб-сервер Apache или IIS). Это позволит им работать без использования терминального доступа (Citrix/RDP), что напрямую сократит потребность в лицензиях.
При переносе логики из старой УПП важно правильно распределять нагрузку. Посмотрим на типичный пример трансформации кода. В обычной форме мы могли написать:
// В обычной форме УПП
Процедура КнопкаРассчитатьНажатие(Кнопка)
// Весь расчет происходит прямо здесь
Результат = МодульРасчета.ВыполнитьДлительнуюОперацию(ДанныеФормы);
Предупреждение("Расчет завершен!");
КонецПроцедуры
Для работы в веб-клиенте этот код необходимо переработать с учетом серверного вызова и асинхронности. Проанализируем правильный подход:
&НаКлиенте
Процедура КнопкаРассчитатьНажатие(Команда)
// Вызываем серверный метод для расчетов
ВыполнитьРасчетНаСервере();
// Используем немодальное оповещение
ПоказатьПредупреждение(, "Расчет завершен!");
КонецПроцедуры
&НаСервере
Процедура ВыполнитьРасчетНаСервере()
// Логика расчета перенесена на сервер
МодульРасчета.ВыполнитьДлительнуюОперацию(Объект);
КонецПроцедуры
Важно помнить, что в управляемом интерфейсе Объект (данные документа) и ЭтаФорма — это разные сущности. На сервере мы работаем с данными, а на клиенте — с визуальным представлением.
Выясним причину, по которой оборудование часто становится камнем преткновения. В «толстом» клиенте 1С напрямую взаимодействует с COM-объектами драйверов. В браузере (веб-клиенте) прямой доступ к железу ограничен политиками безопасности.
Рекомендации по работе с оборудованием:
HTTPЗапрос, что полностью снимает проблему драйверов на стороне клиента.Проанализируем ситуацию с точки зрения бизнеса. Переписывание УПП под управляемые формы — это инвестиция в «уходящую» технологию. Фирма «1С» активно продвигает 1С:ERP как преемника УПП.
Если бюджет на доработку УПП сопоставим с затратами на внедрение ERP, то выбор в пользу новой системы очевиден по следующим причинам:
Итог: Переход на веб-клиент для 300 пользователей УПП — задача крайне рискованная. Рекомендуется сначала рассмотреть замену Citrix на более бюджетные терминальные решения (MS RDS, Thinstuff). Если же переписывание неизбежно — делайте это точечно, создавая отдельные АРМ для конкретных групп сотрудников, сохраняя основной функционал в терминальной среде.