PrintWizard: Консоль команд печати

21.01.24

Разработка - Инструментарий разработчика

Возможность создания печатных форм в режиме предприятия значительно расширяет функционал программы. Но что, если нам надо скрыть существующую команду печати и вместо нее добавить уже свою? Опять к программистам? А вот и нет. О новом функционале и о том, "что такое командная панель "Печать"" в конфигурации, поговорим в этой статье. Полезно будет всем...

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

 

Немного о командах в БСП

Но сначала начнем с того, как получается подменю "Печать", которое вы обычно видите над формой списка или в форме объекта (документа). Бывает даже так, что там просто кнопка единственной печатной формы, что, кстати, весьма удобно. Так вот, для того, чтобы добавить данные команды, программисту необходимо их объявить. В буквальном смысле - ручками написать код. И выглядит этот код как-то так (см. в примере)

 
 Пример из БСП (метод ДобавитьКомандыПечати, документа _ДемоСчетНаОплатуПокупателю)

 

Тут необходимо немного внести пояснение - что собственно происходит в некоторых частях кода

  • Начнем с важной части - установка идентификатора.
КомандаПечати.Идентификатор = "Счет"

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

КомандаПечати.Идентификатор = "Счет,Заказ,Заказ"

Здесь указано, что необходимо вывести один экземпляр печатной формы "Счет" и два экземпляра "Заказ".

  • Смотрим далее и видим, что команда может проверять проведение документа перед печатью. Полезная возможность, следует учитывать. Например, печатная форма может содержать информацию из движений или по результату движений, поэтому ее печать без проведения нецелесообразна.
КомандаПечати.ПроверкаПроведенияПередПечатью = Истина
  • Еще команде можно установить картинку. Выглядит красиво и в целом приятно
КомандаПечати.Картинка = БиблиотекаКартинок.ПечатьСразу
  • Команды упорядочиваются в списке согласно свойству "Порядок". По умолчанию, он равен 50. Может принимать значение от 1 до 100.
КомандаПечати.Порядок = 75
  • Команда печати может не выводить печатную форму, а отправлять сразу на принтер. Возможность, может, и не самая востребованная, но кому-то пригодится.
КомандаПечати.СразуНаПринтер = Истина
  • Возможно, вы не знали, но можно сделать так, чтобы печатная форма была видна только в форме списка (или объекта).
КомандаПечати.СписокФорм = "ФормаДокумента,ФормаСписка"
  • Продолжаем. Команда печати может при выполнении самостоятельно сохранить печатную форму в нужный формат и вывести уже в нем. Например, сразу в PDF. Не показывая в стандартном окне 1С
КомандаПечати.ФорматСохранения = ТипФайлаТабличногоДокумента.PDF

 

Безусловно, это не все настройки, которые можно указать при задании команд печати. Однако, хочется спросить, а зачем вам это знать, если повлиять на это можно только программно? Сходить к программистам, конечно, можно, но что, если это команды печати типовой программы? Будем просить у 1С поменять что-то в меню?

И еще

  • есть возможность указать "группу" команд печати, то есть они будут разделены линиями внутри подменю. При помощи настроек можно команды растащить по трем группам: Важное, Обычное и См. также.
  • есть возможность поместить команду печати так, что она будет видна только через подменю "Еще" - "Печать". Например: устаревшая печатная форма, которую лучше бы спрятать, но нет-нет, а кому-то нужна

И это все возможности, которые даются подсистемой "Подключаемые команды". Но повлиять на них при указании команд печати невозможно, ну или скажем так - никто так заморачиваться не станет.

Что, кстати, странно, ведь это "юзабилити"...

 

Но ведь в БСП можно...

Через БСП вы можете скрыть команды печати. Такая возможность есть. Она находится в по адресу "Администрирование" - "Печатные формы, отчеты и обработки" - "Подменю "Печать"" (гиперссылка на форме).

 

 

Там вы можете полностью отключить команду печати, и она не будет выведена в меню. Но на этом и все. Повлиять ни на что больше из режима 1С: Предприятие, чтобы сделать жизнь в программе удобнее, не выйдет. Так что увы.

 

Infostart PrintWizard в помощь

Новый функционал в расширении Infostart PrintWizard создан специально для того, чтобы управлять подменю "Печать" из пользовательского режима. При этом, PrintWizard дает не только возможности изменить настройки команды, он также позволяет настроить доступ к командам по различным сценариям. Но обо всем по порядку.

 

 

Давайте сначала познакомимся с внешним видом консоли управления командами печати.

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

При активизации строки дерева происходит изменение правой части формы. Для строки видов объектов и объекта форма не имеет никаких настроек. Но при активизации строки команды форма приобретает вид, представленный на картинке выше.

  • В правой части формы располагается информация о текущей команде печати
    • Если команда отключена на уровне настройки в администрировании БСП, это будет отображено в виде пиктограммы . По гиперссылке "(перейти)" можно открыть форму из БСП и изменить текущую настройку
    • В группе "Настройки команды" располагаются поля для управления настройками, которые пользователь может изменить при помощи консоли:
      • Отключить команду для всех - полностью отключает видимость команды для всех пользователей;
      • Видимость в формах - список форм, для которых будет отображаться команда (список форм подбирается из метаданных, не обязательно, что на ней присутствует подменю Печати);
      • Назначение - назначение формы, для списка или объекта. По сути этот функционал перекликается с настройкой "Видимость в формах";
      • Важность - группировка команды печати в подменю, группы отделены горизонтальными разделителями. Важные команды располагаются в самом верху, Обычные располагаются в середине, См. также расположены в нижней части;
      • Сочетание клавиш - сочетание клавиш для быстрого вызова команды. Возможность задать hotkey для команды;
      • Формат сохранения - формат сохранения печатной формы по умолчанию. Стандартная форма не открывается, печатная форма сразу преобразовывается в указанный формат. ВАЖНО: Для печатных форм в формате офисного документа (*.docx) настройка может быть задана, но будет проигнорирована;
      • Только во всех действиях - расположение команды печати только в подменю "Еще" - "Печать". Возможность скрыть не самые актуальные команды.
    • В группе "Настройка доступа" располагается табличная часть, для задания настройки видимости команды по различным критериям:
      • Только пользователи - отображать команду только для указанных пользователей;
      • Все пользователи, кроме - отображать команду для всех пользователей, кроме указанных;
      • Только группа пользователей - отображать команду только для пользователей, входящих в одну из указанных групп;
      • Все группы пользователей, кроме - отображать команду для пользователей, не входящих в группы, указанные в списке;
      • Только роли - отображать команду только для пользователей с одной из указанных ролей;
      • Все роли, кроме - отображать команду для пользователей, у которых ни одна роль не входит в указанный список;
      • * Только группы доступа - отображать команду только для пользователей, входящих в одну из указанных групп доступа;
      • * Все группы доступа, кроме - отображать команду для пользователей, не входящих ни в одну из указанных групп доступа;
      • * Только профили - отображать команду для всех пользователей, которым доступен хотя бы один из указанных профилей;
      • * Все профили, кроме - отображать команду для пользователей, которым недоступен ни один из указанных профилей.

* - указанные настройки появляются только при наличии подсистемы Управление доступом

Все настройки доступа комбинируются по условию "И", то есть если задано два условия, пользователь должен удовлетворять обоим, в таком случае команда будет отображена.

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

 

 

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

 

Примечание

  • Статья является анонсом к версии 2024.1.+
  • Описанный функционал не является окончательной реализацией и был изменен в релизе 2024.1.3
  • Обновление доступно с 25.01.2024
  • Указанная версия доступна на демо-стенде (можете перейти к нему со страницы в маркетплейсе). Однако в веб-версии порядок команд в консоли отражен "задом на перед", разберемся ))))

Уверен, описанный функционал расширит возможности применения PrintWizard. И это только начало развития "за пределы конструктора", план на 2024 год достаточно большой. Так что, следите за новостями и подписывайтесь на телеграмм-канал.

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

printwizard

См. также

SALE! 15%

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    159569    874    399    

862

SALE! 15%

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

8400 7140 руб.

20.08.2024    7816    57    23    

69

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

9360 руб.

17.05.2024    23457    68    45    

117

SALE! 15%

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8500 руб.

10.11.2023    10446    36    25    

61

SALE! 15%

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

22200 19980 руб.

06.10.2023    15408    35    7    

70

SALE! 35%

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3120 руб.

14.01.2013    188020    1140    0    

912

SALE! 15%

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 12750 руб.

07.10.2021    17311    6    32    

42

Инструментарий разработчика Программист Платные (руб)

Менеджер конфигураций 1С — альтернативный стартер информационных баз 1С:Предприятие.

1800 руб.

21.02.2023    7709    8    35    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. OlegAr 22 21.01.24 20:35 Сейчас в теме
однако стоящее решение, так мало на сервисе Инфостарта.
DrAku1a; per4ik; vandalsvq; +3 Ответить
Оставьте свое сообщение