Переход с платформы 1С:Предприятие 8.2 (и конфигураций вроде БП 2.0) на современные управляемые формы в 1С:Бухгалтерия 3.0 принес множество изменений в интерфейс. Одним из таких изменений стало исчезновение привычной настройки "Печатная форма по умолчанию", которая позволяла при нажатии на кнопку "Печать" сразу открывать конкретный макет. В современных конфигурациях, построенных на базе Библиотеки стандартных подсистем (БСП), кнопка печати превратилась в выпадающее меню. В этой статье мы подробно разберем, как вернуть удобство работы и сделать нужные формы более доступными.
Разберем ситуацию: в старых версиях программ выбор формы по умолчанию записывался в настройки пользователя. В БП 3.0 логика изменилась — теперь список команд печати формируется динамически при создании формы документа или списка. Все команды сгруппированы в подменю Печать. Однако это не означает, что мы не можем влиять на этот список. Мы можем использовать механизмы расширений и штатные возможности БСП, чтобы поднять нужную форму в топ списка или вовсе вынести её в виде отдельной кнопки на командную панель.
Если нам нужно выделить конкретную форму среди десятка других, мы можем добавить к ней иконку. Это визуально привлечет внимание пользователя. Рассмотрим, как это реализовать с помощью расширения конфигурации. Для этого нам понадобится переопределить процедуру ДобавитьКомандыПечати в менеджере соответствующего объекта (например, документа).
Проанализируем пример кода, который добавляет картинку принтера к стандартной команде печати:
&ИзменениеИКонтроль("ДобавитьКомандыПечати")
Процедура расширениеПечатныхФорм_ДобавитьКомандыПечати(КомандыПечати) Экспорт
// Находим нужную команду или добавляем новую
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.МенеджерПечати = "УправлениеПечатью";
КомандаПечати.Идентификатор = "Документ.АктОбУничтоженииПерсональныхДанных.ПФ_MXL_АктОбУничтоженииПерсональныхДанных";
КомандаПечати.Представление = НСтр("ru = 'Акт об уничтожении персональных данных'");
#Вставка
// Добавляем картинку из библиотеки, чтобы выделить кнопку
КомандаПечати.Картинка = БиблиотекаКартинок.Принтер;
#КонецВставки
КонецПроцедуры
В данном примере мы используем аннотацию &ИзменениеИКонтроль, чтобы внести изменения в таблицу команд. Добавление картинки — это простейший способ сделать форму "главной" для пользователя на визуальном уровне.
Выясним, как сделать так, чтобы нужная нам форма всегда была первой в списке. В БСП за это отвечает колонка Порядок в таблице команд печати. По умолчанию всем командам присваивается значение 50. Сортировка в меню происходит сначала по этому числу (по возрастанию), а затем по алфавиту (по представлению).
Рассмотрим структуру таблицы команд печати, которую предоставляет БСП. При заполнении таблицы мы можем указать следующие параметры:
Если мы установим КомандаПечати.Порядок = 1;, эта форма гарантированно окажется на самом верху меню Печать. В современных версиях платформы это также часто означает, что при нажатии "горячих клавиш" печати будет выбираться именно этот пункт.
Если пользователю неудобно каждый раз нажимать на подменю Печать, мы можем вынести конкретную команду непосредственно на панель документа, как это было в БП 2.0. Для этого в процедуре ДобавитьКомандыПечати необходимо изменить параметр МестоРазмещения.
Проанализируем, как это работает: если оставить этот параметр пустым, БСП автоматически поместит команду в группу "Печать". Если же указать имя другой группы командной панели, кнопка появится именно там. Это позволяет создать "быструю" кнопку для самой популярной формы, оставив остальные в выпадающем списке.
Посмотрим на возможности интерфейса "Такси". В последних версиях БСП реализован механизм пользовательской настройки меню. Часто в меню Печать рядом с названиями форм можно увидеть символ "звездочки".
Печать в любом документе.После этого выбранная форма закрепится в верхней части списка. Это индивидуальная настройка пользователя, которая не требует прав программиста и позволяет каждому сотруднику сформировать свой список "по умолчанию".
Иногда задача стоит не в том, чтобы выбрать форму, а в том, чтобы изменить её внешний вид или вообще скрыть лишние. Разберем путь в интерфейсе: Администрирование — Печатные формы, отчеты и обработки — Макеты печатных форм. Здесь мы можем:
MXL.Хотя это не меняет "форму по умолчанию" напрямую, это позволяет настроить одну форму так, чтобы она заменяла собой несколько других, сокращая выбор пользователя.
Для продвинутой настройки разберем еще несколько важных полей из коллекции КомандыПечати, которые могут быть полезны при разработке в расширении:
ПроверкаПроведенияПередПечатью: Если установить в Истина, программа не даст распечатать непроведенный документ, предложив его провести. Это критично для бухгалтерских актов и накладных.СписокФорм: Здесь можно через запятую перечислить имена форм (например, "ФормаДокумента, ФормаСписка"), в которых должна отображаться эта кнопка.СразуНаПринтер: Если установить Истина, форма не будет открываться для просмотра, а сразу отправится на печать. Это максимально приближает поведение к "старым добрым" кнопкам из 1С 7.7 или БП 2.0.Таким образом, несмотря на отсутствие одной явной галочки "По умолчанию", система 1С:Предприятие 8.3 через механизмы БСП предоставляет гораздо более гибкий инструментарий для адаптации интерфейса под нужды пользователя.