Здравствуйте!
Проблема: есть 44 вида печатных форм и необходимо от выбора типа объекта, запускать "Печать"--> И выбрать элемент меню "Печать". Выбирать среди 44 айтемов неудобно.

Хочу повесить условия на метода печати в зависимости от значения поля выбранного справочника.

Вижу два варианта решения:

1. В зависимости от значения поля справочника мы управляем значением свойства visible всех элементов.
Много проверок.

2. Делаю свою кнопку "Печать". При нажатии на нее, определяю значения поля выбранного в справочнике. И посредством switch-case запускаю printMethod(printCollection[itemТNumber]).
Как мне получить доступ к колекции Печатных форм для данной страницы и вызвать метод печать(элемент)?

Нравится

5 комментариев

Здравствуйте, Валерий!

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

Для этого необходимо переопределить метод «initPrintButtonMenu», который определен в PrintReportUtilities.
Переопределять следует на странице редактирования. В частности, чтобы срабатывала проверка на тип необходимо в базовом методе заменить

printMenuItems.addItem(this.getActionsMenuItem({
"Caption": item.caption,
"Click": { bindTo: item.methodName },
"Tag": item.tag,
"Enabled": (type === "Section") ? { bindTo: "isAnySelected" } : true,
"Visible": (item.tag.typeColumnValue) ? { bindTo: "getPrintMenuItemVisible" } : true
}));

printMenuItems.addItem(this.getActionsMenuItem({
"Caption": item.caption,
"Click": { bindTo: item.methodName },
"Tag": item.tag,
"Enabled": (type === "Section") ? { bindTo: "isAnySelected" } : true,
"Visible": { bindTo: "getPrintMenuItemVisible" }
}));

...чтобы метод проверки видимости всегда срабатывал. А в методе getPrintMenuItemVisible осуществлять проверку.

Андрей, огромной спасибо Вам!!!

Вы как "ангел-хранитель", как только проблема, вы сразу тут с ее решением!

На 10+ ))

Здравствуйте! Подскажите, пожалуйста, как реализовать функционал скрытия отчетов по условию в стандартной кнопке "Печать" в версии 7.5 ?
Также необходимо добавить в эту кнопку еще несколько отчетов excel.

Здравствуйте, Александр!

Для реализации скрытия должен подойти метод, описанный Андреем выше.

Илья, добрый день!
Я не нашел в PrintReportUtilities метода initPrintButtonMenu.
Также в добавлении элементов ниже не совсем понятно, откуда взять printMenuItems и item, а также type.

"Безродный Андрей" написал:"Enabled": (type === "Section") ? { bindTo: "isAnySelected" } : true,

Показать все комментарии