Как добавить свой документ в простой интерфейс 1С:Бухгалтерии 3.0 через расширение?

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

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

Почему простого включения в подсистемы недостаточно?

Проанализируем архитектуру простого интерфейса в БП 3.0. В отличие от стандартного командного интерфейса платформы (интерфейс «Такси»), где состав разделов и меню формируется динамически на основании подсистем, простой интерфейс построен совершенно иначе. Разделы простого интерфейса реализованы на базе общей обработки ПанелиПростойИнтерфейс.

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

Способ 1. Доработка формы панели обработки через расширение

Рассмотрим прямое и наиболее распространенное решение — внедрение команды непосредственно в панель нужного раздела. Выполним настройку по шагам:

  1. Добавим в расширение конфигурации обработку ПанелиПростойИнтерфейс вместе с нужной формой. Например, если документ связан со сбытом, заимствуем форму ПанельПродажи.
  2. В заимствованной форме создадим новую команду (например, ДополнениеКРеализации) и разместим соответствующую кнопку или гиперссылку в нужном месте панели.
  3. Назначим обработчик команды на клиенте. Обратите внимание: стандартный вызов метода платформы ОткрытьФорму() откроет список в отдельном окне или новой вкладке, нарушая концепцию единого рабочего места. Чтобы список открылся внутри рабочей области панели, используем вызов функции ПростойИнтерфейсКлиент.ОткрытьФормуВОкнеФормы().

Посмотрим на пример клиентского обработчика:


&НаКлиенте
Процедура ДополнениеКРеализации(Команда)
    ПростойИнтерфейсКлиент.ОткрытьФормуВОкнеФормы(
        "Документ.Доб1_Дополнение.ФормаСписка", 
        ЭтотОбъект, 
        , 
        , 
        ОткрытыеФормы
    );
КонецПроцедуры

Переменная ОткрытыеФормы является реквизитом самой формы панели и отвечает за корректное переключение и стек отображаемых форм внутри рабочей области простого интерфейса.

Способ 2. Программное создание элементов формы при создании на сервере

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

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

Способ 3. Включение документа в типовые журналы документов

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

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

Альтернативные варианты и важные нюансы

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

  1. Ввод на основании: Если новый документ логически подчинен стандартному объекту (например, документу «Реализация (акт, накладная, УПД)»), настроим ввод на основании. В этом случае пользователю не потребуется отдельный пункт меню — команда создания будет доступна непосредственно в меню «Создать на основании» из формы реализации.
  2. Панель «Избранное»: Если документ требуется конкретному пользователю, можно открыть форму списка один раз (по навигационной ссылке либо через «Функции для технического специалиста») и нажать пиктограмму «звездочки». Документ закрепится на панели избранного в шапке программы и всегда будет под рукой.
  3. Проверка прав доступа: Обязательно убедимся, что для роли пользователя настроены права на просмотр, интерактивное добавление и чтение нового документа. Если у пользователя в простом интерфейсе не будет соответствующих прав, элемент интерфейса будет автоматически скрыт платформой либо вызовет ошибку нарушения прав доступа.
← На главную