Почему при открытии внешней обработки в 1С:Розница 2.0 открывается пустое окно и как это исправить?

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

При работе в конфигурации 1С:Розница 2.0 пользователи и разработчики часто сталкиваются со следующей ситуацией: при попытке открыть файл внешней обработки через меню «Файл -> Открыть» на экране отображается абсолютно пустое окно. Проанализируем причину данного поведения платформы и разберем практические варианты решения этой проблемы.

Выясним причину проблемы

Конфигурация 1С:Розница 2.0 построена на базе интерфейса управляемого приложения. Тонкий клиент и веб-клиент платформы 1С:Предприятие 8 технически не поддерживают отрисовку и выполнение элементов обычных (неуправляемых) форм.

Если внешний файл .epf был создан для платформ предыдущих поколений или для конфигураций на обычных формах (например, 1С:Управление торговлей 10.3 или 1С:Бухгалтерия 2.0), то при попытке интерактивного открытия такого файла в управляемом режиме платформа не может отобразить привычный интерфейс и выводит пустое окно.

Кроме того, пустое окно может появляться в следующих ситуациях:

  1. В свойствах внешней обработки в Конфигураторе не назначена Основная форма.
  2. У пользователя отсутствует право Интерактивное открытие внешних отчетов и обработок.
  3. В обработке используются старые вызовы, не предназначенные для работы на тонком клиенте.

Решение 1. Переработка формы под управляемое приложение

Наиболее корректным и правильным решением является адаптировать файл внешней обработки для работы в управляемом интерфейсе. Рассмотрим по шагам, как это сделать:

  1. Откроем файл обработки в режиме Конфигуратор.
  2. В дереве метаданных объекта обработки добавим новую форму и укажем тип Управляемая форма.
  3. Назначим созданную форму в качестве основной в свойствах объекта.
  4. Разделим логику работы программного кода на клиентский контекст (директива &НаКлиенте) и серверный контекст (директива &НаСервере).

Для интеграции внешней обработки в 1С:Розница 2.0 через механизм Библиотеки Стандартных Подсистем (БСП) перейдем в модуль объекта обработки и добавим экспортную функцию СведенияОВнешнейОбработке(). Проанализируем пример кода:


Функция СведенияОВнешнейОбработке() Экспорт

    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2");
    ПараметрыРегистрации.Наименование = "Моя внешняя обработка";
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
    ПараметрыРегистрации.Версия = "1.0";
    ПараметрыРегистрации.БезопасныйРежим = Истина;

    Команда = ПараметрыРегистрации.Команды.Добавить();
    Команда.Представление = "Запустить обработку";
    Команда.Идентификатор = "ЗапуститьОбработку";
    Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
    Команда.ПоказыватьОповещение = Ложь;

    Возврат ПараметрыРегистрации;

КонецФункции

После добавления данной функции обработку можно зарегистрировать в режиме 1С:Предприятие через раздел Администрирование -> Печатные формы, отчеты и обработки -> Дополнительные отчеты и обработки.

Решение 2. Запуск приложения в режиме толстого клиента или обычного приложения

Если переписать форму под управляемый интерфейс оперативно невозможно, рассмотрим вариант запуска системы в режиме, позволяющем исполнять обычные формы.

  1. Перейдем в режим 1С:Предприятие под правами администратора.
  2. Откроем раздел Администрирование -> Пользователи.
  3. Найдем нужного пользователя и укажем для него режим запуска Толстый клиент (обычное приложение) или Толстый клиент (управляемое приложение) с разрешением обычных форм.

Также стоит учесть, что в 1С:Розница 2.0 работа с обычными формами может быть доступна при запуске специального режима Рабочего места кассира (РМК), если у пользователя настроены соответствующие права доступа.

Решение 3. Встраивание обработки в состав метаданных конфигурации

Если обработку с обычной формой требуется выполнить разово и без смены режима клиента у всех пользователей, посмотрим на альтернативный вариант. Можно открыть конфигурацию в режиме Конфигуратор, снять ее с поддержки (или включить возможность изменения) и объединить файл внешней обработки с основной конфигурацией, добавив объект в ветку Обработки.

Внутренние обработки конфигурации, содержащие обычные формы, могут запускаться платформой в режиме толстого клиента, в отличие от внешних файлов .epf.

← На главную