Как сделать, чтобы внешняя обработка в 1С открывалась сразу, без лишних окон?

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

При работе в современных конфигурациях на базе управляемого приложения, таких как 1С:ERP Управление предприятием, 1С:Комплексная автоматизация или 1С:Управление торговлей 11, пользователи часто сталкиваются с неудобством при использовании внешних обработок. При попытке запустить обработку из общего списка открывается не сама форма инструмента, а карточка справочника с описанием, параметрами и кнопкой «Выполнить». В этой статье мы подробно разберем, почему так происходит, и рассмотрим несколько способов настройки системы для мгновенного открытия формы обработки.

Почему открывается промежуточное окно?

Для начала проанализируем ситуацию с технической точки зрения. В конфигурациях, построенных на Библиотеке стандартных подсистем (БСП), все внешние инструменты хранятся в справочнике ДополнительныеОтчетыИОбработки. Когда мы заходим в этот справочник через «Администрирование», система воспринимает наши действия как работу со списком элементов данных. Двойной клик по строке в любом справочнике 1С по умолчанию открывает форму элемента. В данном случае — это карточка регистрации обработки, где администратор настраивает права доступа, расписание регламентных заданий и разделы интерфейса.

Рассмотрим, как можно обойти это стандартное поведение и сделать работу пользователей более эффективной.

Способ 1. Использование командного интерфейса разделов (Рекомендуемый)

Это самый правильный метод с точки зрения логики построения современных интерфейсов 1С. Разберем по шагам, как вывести обработку в конкретный раздел программы, чтобы она открывалась в один клик:

  1. Откроем карточку нашей обработки в справочнике Дополнительные отчеты и обработки.
  2. Найдем гиперссылку «Размещение». Нажмем на нее и отметим флажками те разделы интерфейса, в которых пользователям будет удобно искать этот инструмент (например, «Продажи», «Закупки» или «Склад и доставка»).
  3. Обратим внимание на таблицу «Команды» в нижней части карточки. В колонке «Быстрый доступ» выберем конкретных пользователей, которым эта обработка нужна постоянно.
  4. Запишем и закроем карточку.

Теперь выясним, как это выглядит со стороны пользователя. В выбранном разделе (например, «Продажи») в блоке «Сервис» появится пункт «Дополнительные обработки». При нажатии на него откроется список, где наша обработка будет доступна сразу. При клике на нее в этом интерфейсе система не будет открывать карточку описания, а сразу запустит основную форму обработки.

Способ 2. Использование горячих клавиш и кнопки «Выполнить»

Если по каким-то причинам вам необходимо запускать обработку именно из общего списка «Дополнительные отчеты и обработки», можно ускорить процесс, не используя мышь для поиска кнопки запуска:

Проанализируем работу со списком: вместо двойного клика, который открывает карточку, используйте сочетание клавиш Ctrl + Enter. В большинстве списков 1С это сочетание аналогично нажатию кнопки «Выбрать» или выполнению основного действия. В контексте дополнительных обработок это приведет к немедленному выполнению команды, если она в списке одна, или предложит выбор, если команд несколько.

Также на командной панели списка всегда присутствует кнопка «Выполнить». Выделение строки и нажатие этой кнопки — это стандартный способ запуска без захода внутрь элемента справочника.

Способ 3. Настройка параметров в программном коде (для разработчиков)

Если вы сами разрабатываете внешнюю обработку, вы можете управлять тем, как она регистрируется в системе. Поведение команды определяется в модуле объекта обработки в функции СведенияОВнешнейОбработке(). Рассмотрим пример заполнения таблицы команд:


Функция СведенияОВнешнейОбработке() Экспорт
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
    
    // Определение основных свойств обработки
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
    ПараметрыРегистрации.Наименование = "Моя обработка";
    
    // Добавление команды
    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Представление = "Открыть форму обработки";
    НоваяКоманда.Идентификатор = "ОткрытьФорму";
    
    // ВАЖНО: Использование команды
    // Доступные варианты: "ОткрытиеФормы", "ВызовКлиентскогоМетода", "ВызовСерверногоМетода"
    НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
    
    НоваяКоманда.ПоказыватьОповещение = Истина;
    
    Возврат ПараметрыРегистрации;
КонецФункции

В данном примере мы используем метод ТипКомандыОткрытиеФормы(). Это гарантирует, что при вызове команды из интерфейса разделов 1С попытается сразу открыть основную форму обработки. Если же указать ВызовКлиентскогоМетода, то управление будет передано в модуль формы, где в процедуре ВыполнитьКоманду() вы сможете прописать собственную сложную логику открытия окон.

Резюме

Мы выяснили, что открытие промежуточного окна с описанием — это не ошибка, а стандартное поведение справочника 1С, предназначенного для хранения настроек. Чтобы обеспечить пользователям максимально быстрый доступ к инструментам, рекомендуется настраивать размещение обработок в соответствующих разделах программы и использовать механизм «Быстрого доступа». Это позволяет не только убрать лишние клики, но и структурировать рабочее пространство, скрывая от пользователя ненужные технические настройки.

← На главную