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

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

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

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

12000 руб.

02.09.2020    115591    634    389    

684

Infostart PrintWizard

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

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

18000 руб.

06.10.2023    6411    13    3    

35

SALE! 30%

PowerTools

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

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

3600 2520 руб.

14.01.2013    176339    1063    0    

838

Infostart УДиФ: Управление данными и формами

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

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

10000 руб.

10.11.2023    2655    4    1    

26

Многопоточность. Универсальный «Менеджер потоков» 2.1

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

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    98585    238    97    

292

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23220    15    15    

30

Менеджер конфигураций 1С

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

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

1800 руб.

21.02.2023    6309    4    34    

16

Программное формирование существующих печатных форм

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

Получение списка печатных форм, формирование выбранной печатной формы и сохранение ее в файл.

1 стартмани

17.12.2021    15458    42    RocKeR_13    5    

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