Как настроить АРМ на управляемых формах с интерфейсом Такси в УТ 10.3 на платформе 8.3

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей IT и автоматизация бизнеса
← На главную

При использовании устаревших или сильно переработанных конфигураций на обычных формах (таких как 1С:Управление торговлей 10.3) перед разработчиками часто возникает задача перевода части пользователей на работу в веб-браузере под управлением Linux. Для этого требуется разработать специализированные рабочие места (АРМ) на управляемых формах с современным интерфейсом «Такси», сохранив при этом основной функционал системы.

Рассмотрим подробно, как правильно перевести конфигурацию УТ 10.3 на платформу 1С 8.3, настроить режим совместимости и реализовать АРМ для работы через веб-клиент.

Перевод конфигурации на платформу 8.3 и настройка совместимости

Первый шаг при решении этой задачи — запуск базы данных на платформе 1С:Предприятие 8.3. Однако при попытке полностью отключить режим совместимости в свойствах конфигурации или установить его в значение Не использовать разработчики неизбежно сталкиваются с большим количеством ошибок компиляции и синтаксиса. Это связано со спецификой кода 8.2, используемого в УТ 10.3.

Проанализируем правильный порядок настройки свойств корневого узла конфигурации:

  1. Основной режим совместимости: Оставляем значение Версия 8.2.13 или Версия 8.2.16 (в зависимости от исходных настроек вашей версии УТ 10.3). Это позволит всей базовой логике и обычным формам работать без ошибок.
  2. Режим совместимости интерфейса: Для использования современного внешнего вида управлемых форм установим свойство Режим совместимости интерфейса в значение Такси или Такси. Разрешить Версия 8.2.
  3. Использование управляемых форм в толстом клиенте: Для совместной работы обычных и управляемых форм включим флаг Использовать управляемые формы в толстом клиенте в обычном режиме.

После публикации базы на веб-сервере (Apache или IIS) платформа 1С будет автоматически отображать все управляемые формы в интерфейсе «Такси» при подключении через браузер или тонкий клиент.

Особенности разработки АРМ в единой базе УТ 10.3

Разберем основные моменты, на которые необходимо обратить внимание при написании управляемых форм АРМ внутри конфигурации УТ 10.3:

1. Настройка общих модулей
В типовой УТ 10.3 для многих общих модулей включены флаги Клиент (обычное приложение) и Сервер, но выключен флаг Клиент (управляемое приложение). Если вызван метод такого модуля напрямую из клиентского кода управляемой формы в веб-клиенте, возникнет ошибка выполнения.

Для решения этой проблемы необходимо у используемых модулей включить флаг Клиент (управляемое приложение) либо вызывать обработку данных строго через серверные процедуры формы с инструкциями препроцессору:


&НаСервере
Процедура ОбработатьДанныеНаСервере()
    // Вызов серверного кода УТ 10.3
    МодульУчета.ЗаполнитьДокумент(Объект);
КонецПроцедуры

2. Отказ от модальности и синхронных вызовов
В веб-клиенте и при работе под Linux синхронные вызовы (такие как Вопрос(), Предупреждение(), ОткрытьФормуМодально()) не поддерживаются. При проектировании АРМ все интерактивные действия следует реализовывать через асинхронные методы с описателями оповещения:


&НаКлиенте
Процедура ЗапроситьПодтверждение(Команда)
    Оповещение = Новый ОписаниеОповещения("ПослеОтветаНаВопрос", ЭтотОбъект);
    ПоказатьВопрос(Оповещение, "Продолжить проведение документа?", РежимДиалогаВопрос.ДаНет);
КонецПроцедуры

&НаКлиенте
Процедура ПослеОтветаНаВопрос(Результат, ДополнительныеПараметры) Экспорт
    Если Результат = КодВозвратаДиалога.Да Тогда
        ПровестиДокументНаСервере();
    КонецЕсли;
КонецПроцедуры

3. Изоляция от объектов обычного приложения
В веб-клиенте обычные формы не физически не отображаются. Попытка вызова формы объекта через ПолучитьФорму() без указания управляемой формы приведет к исключению. Веб-пользователям должны быть доступны исключительно элементы и интерфейсы управляемых форм.

Альтернативный вариант: вынос АРМ в отдельную конфигурацию

Если конфигурация УТ 10.3 сильно переписана и внесение изменений в общие модули или структуры метаданных нежелательно, рассмотрим второй архитектурный подход — создание изолированного АРМ.

  1. Создается новая пустая база на платформах 8.3 с отключенным режимом совместимости и интерфейсом «Такси».
  2. В этой базе разрабатываются только управляемые формы для целевой группы пользователей (например, для рабочих мест склада или менеджеров по продажам).
  3. Взаимодействие между АРМ и основной УТ 10.3 организуется в режиме Online через HTTP-сервисы или Web-сервисы.

Такой подход полностью изолирует пользователей веб-клиента от устаревшего кода 8.2 и гарантирует высокую скорость работы АРМ без необходимости доработки типовых механизмов УТ 10.3.

← На главную