diff --git a/public/bsp-pechat/1.png b/public/bsp-pechat/1.png
new file mode 100644
index 0000000..850949d
Binary files /dev/null and b/public/bsp-pechat/1.png differ
diff --git a/public/bsp-pechat/2.png b/public/bsp-pechat/2.png
new file mode 100644
index 0000000..b988641
Binary files /dev/null and b/public/bsp-pechat/2.png differ
diff --git a/public/bsp-pechat/3.png b/public/bsp-pechat/3.png
new file mode 100644
index 0000000..75d51a9
Binary files /dev/null and b/public/bsp-pechat/3.png differ
diff --git a/public/bsp-pechat/4.png b/public/bsp-pechat/4.png
new file mode 100644
index 0000000..837e24e
Binary files /dev/null and b/public/bsp-pechat/4.png differ
diff --git a/public/bsp-pechat/5.png b/public/bsp-pechat/5.png
new file mode 100644
index 0000000..f50a739
Binary files /dev/null and b/public/bsp-pechat/5.png differ
diff --git a/public/bsp-pechat/6.png b/public/bsp-pechat/6.png
new file mode 100644
index 0000000..24f1225
Binary files /dev/null and b/public/bsp-pechat/6.png differ
diff --git a/public/bsp-pechat/7.png b/public/bsp-pechat/7.png
new file mode 100644
index 0000000..742ae83
Binary files /dev/null and b/public/bsp-pechat/7.png differ
diff --git a/public/bsp-pechat/8.png b/public/bsp-pechat/8.png
new file mode 100644
index 0000000..fcb6726
Binary files /dev/null and b/public/bsp-pechat/8.png differ
diff --git a/public/bsp-pechat/9.png b/public/bsp-pechat/9.png
new file mode 100644
index 0000000..fddb4b5
Binary files /dev/null and b/public/bsp-pechat/9.png differ
diff --git a/src/content/docs/knowledge-base/Общие/(БСП) Стандартные подсистемы/3.1.10/Печать/Подключение к подсистеме Печать.md b/src/content/docs/knowledge-base/Общие/(БСП) Стандартные подсистемы/3.1.10/Печать/Подключение к подсистеме Печать.md
new file mode 100644
index 0000000..175fa2e
--- /dev/null
+++ b/src/content/docs/knowledge-base/Общие/(БСП) Стандартные подсистемы/3.1.10/Печать/Подключение к подсистеме Печать.md
@@ -0,0 +1,930 @@
+---
+title: Подключение к подсистеме Печать
+slug: общие-бсп-стандартные-подсистемы-3-1-10-печать/подключение-к-подсистеме-печать
+---
+
+## Настройка объектов метаданных
+
+В процедуре `ПриОпределенииНастроекПечати` общего модуля `УправлениеПечатьюПереопределяемый` перечисляем менеджеры объектов, которые нужно подключить:
+
+```bsl
+
+// Переопределяет настройки подсистемы.
+//
+// Параметры:
+// Настройки - Структура:
+// * ИспользоватьПодписиИПечати - Булево - при установке значения Ложь отключается возможность установки подписей
+// и печатей в печатных формах.
+// * СкрыватьПодписиИПечатиДляРедактирования - Булево - удалять рисунки подписей и печатей табличных документов при
+// снятии флажка "Подписи и печати" в форме "Печать документов", для того,
+// чтобы они не мешали редактировать текст, находящийся под ними.
+// * ПроверкаПроведенияПередПечатью - Булево - признак необходимости проверки проведенности
+// документов перед печатью, является значением по умолчанию для команды печати
+// см. УправлениеПечатью.СоздатьКоллекциюКомандПечати.
+// Для непроведенных документов команда печати не выполняется.
+// Если параметр не указан, то проверка проведенности не выполняется.
+// * ОбъектыПечати - Массив - менеджеры объектов с процедурой ПриОпределенииНастроекПечати.
+//
+Процедура ПриОпределенииНастроекПечати(Настройки) Экспорт
+
+ ...
+ Настройки.ОбъектыПечати.Добавить(Справочники._ДемоКонтрагенты);
+ Настройки.ОбъектыПечати.Добавить(Справочники._ДемоОрганизации);
+ ...
+ Настройки.ОбъектыПечати.Добавить(Документы._ДемоСчетНаОплатуПокупателю);
+ Настройки.ОбъектыПечати.Добавить(Документы._ДемоРасходныйКассовыйОрдер);
+ ...
+
+КонецПроцедуры
+
+```
+
+## Настройка модуля менеджера
+
+В модуле менеджера объектов, подключаемых к подсистеме добавляются методы `ПриОпределенииНастроекПечати` и `ДобавитьКомандыПечати`:
+
+```bsl
+
+// СтандартныеПодсистемы.Печать
+
+// Переопределяет настройки печати для объекта.
+//
+// Параметры:
+// Настройки - см. УправлениеПечатью.НастройкиПечатиОбъекта.
+//
+Процедура ПриОпределенииНастроекПечати(Настройки) Экспорт
+ Настройки.ПриДобавленииКомандПечати = Истина;
+КонецПроцедуры
+
+// Определяет список команд печати.
+//
+// Параметры:
+// КомандыПечати - см. УправлениеПечатью.СоздатьКоллекциюКомандПечати
+//
+Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
+
+ // в зависимости от варианта печати - автоматического "нового" или традиционного. См. ниже
+
+КонецПроцедуры
+
+// Конец СтандартныеПодсистемы.Печать
+
+```
+
+## Подключение форм к подсистеме `Подключаемые команды`
+
+Чтоыб были выведены подключаемые команды печати необходимо подключить формы к подсистеме `Подключаемые команды`
+
+
+## Автоматическое формирование печатной формы
+
+### Макет табличного документа
+
+
+ВАРИАНТ 1. Без конфигуратора
+
+Данный способ позволяет создать печатную форму исключительно в пользовательском режиме.
+Команды печати в таком случае создавать не нужно
+
+В пользовательском режиме открываем `Администрирование` -> `Печатные формы, отчеты и обработки` -> `Макеты печатных форм`
+
+
+
+В конструкторе макета создаем необходимый вид печатной формы
+
+
+
+> ВАЖНО! Параметры указываются в [квадратных скобках], функции также. Например, чтобы для поля `Дата` применить функцию `Формат`, в ячейку нужно записать строку вида `[Формат([Дата], "ДФ=дд.ММ.гггг")]`.
+
+> Также не нужно никак выделять строки табличных частей - просто выводим параметры ТЧ в ячейки, система сама определит, что такие строки нужно повторять
+
+
+
+С помощью команд редактора можно запустить предпросмотр или изменить образец:
+
+
+
+Включаем видимость печатной формы
+
+
+
+Все, после записи макета команда печати будет доступна в формах объекта
+
+
+
+
+ВАРИАНТ 2. Встраивание в конфигуратор
+
+- Создаем макет печатной формы также, как и в **варианте 1**, только **не включаем видимость**. Созданный макет нужно сохранить в формате `MXL`, открыть в конфигураторе и скопировать **все** содержимое в созданный макет
+
+
+
+
+- В `модуле менеджера` реализуем процедуру `ДобавитьКомандыПечати`:
+
+```bsl
+
+Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
+
+ Команда = КомандыПечати.Добавить();
+
+ Команда.МенеджерПечати = "УправлениеПечатью"; // ВАЖНО! Менеджер - сама подсистема
+ Команда.Идентификатор = "Документ.МойДокумент.ПФ_MXL_ПечатнаяФормаМоегоДокумента"; // Полный путь к макету
+ Команда.Представление = НСтр("ru = 'Печатная форма моего документа'");
+
+КонецПроцедуры
+
+```
+
+После обновления конфигурации команда печати должна появиться в формах целевого объекта, а также в списке `Макеты печатных форм`
+
+
+
+
+Изменение списка доступных полей
+
+Для того, чтобы расширить или уменьшить список доступных полей в конструкторе печатных форм нужно реализовать схему компоновки данных `ДанныеПечати` на уровне объекта
+
+
+
+Схема компоновки данных должна именоваться именно `Данные печати`, в запросе иметь поле `Ссылка` целевого объекта. **В схеме можно использовать все возможности СКД** (ВычисляемыеПоля, соединения и пр.)
+
+
+
+ПРИ НЕОБХОДИМОСТИ дополняются методы `ПриОпределенииИсточниковДанныхПечати` `ПриПодготовкеДанныхПечати` общего модуля `УправлениеПечатьюПереопределяемый`. Метод `ПриОпределенииИсточниковДанныхПечати` **описывает новые поля** схемы, а `ПриПодготовкеДанныхПечати` **реализует их заполнение**
+
+**(Не пробовал, нужно потестить)**
+
+```bsl
+
+// Определяет используемый макет данных печати для объектов метаданных и отдельных полей.
+// По умолчанию используется макет ДанныеПечати у ссылочных объектов. Если макет отсутствует в метаданных, он будет
+// сгенерирован автоматически на основе выборки всех реквизитов объекта. В данной процедуре можно переопределить
+// состав полей, доступных для печати как для всего объекта, так и для отдельного поля объекта.
+//
+// Параметры:
+// Объект - Строка - полное имя объекта метаданных либо имя поля из макета "ДанныеПечати" объекта метаданных
+// в формате "ПолноеИмяОбъектаМетаданных.ИмяПоля".
+// ИсточникиДанныхПечати - СписокЗначений:
+// * Значение - СхемаКомпоновкиДанных - схема данных печати. Определяет состав подчиненных полей объекта или поля,
+// используется при получении данных печати.
+// При получении данных печати отбор значений производится по полю Ссылка.
+// Поэтому в составе полей схемы компоновки данных обязательно должно
+// присутствовать поле Ссылка, даже если оно фактически не ссылочного типа,
+// а, например, Строка.
+//
+// * Представление - Строка - идентификатор схемы, используется в процедуре ПриПодготовкеДанныхПечати.
+// Если в качестве идентификатора схемы используется полное имя объекта метаданных, то
+// при подготовке данных печати будет вызываться процедура ПриПодготовкеДанныхПечати
+// модуля менеджера объекта. Иначе будет вызвана аналогичная процедура этого модуля.
+//
+// * Пометка -Булево - Истина, если в качестве дополнительного ключевого поля выступает владелец источника данных.
+//
+Процедура ПриОпределенииИсточниковДанныхПечати(Объект, ИсточникиДанныхПечати) Экспорт
+
+ // _Демо начало примера
+
+ // СтандартныеПодсистемы.СклонениеПредставленийОбъектов
+ Если Объект = "Справочник._ДемоФизическиеЛица.Наименование" Тогда
+ СклонениеПредставленийОбъектов.ПодключитьИсточникДанныхПечатиСклоненияСтрок(ИсточникиДанныхПечати);
+ КонецЕсли;
+ // Конец СтандартныеПодсистемы.СклонениеПредставленийОбъектов
+
+ Если Объект = "Документ._ДемоСчетНаОплатуПокупателю" Тогда
+
+ СписокПолей = УправлениеПечатью.ДеревоПолейДанныхПечати();
+
+ Поле = СписокПолей.Строки.Добавить();
+ Поле.Идентификатор = "Ссылка";
+ Поле.Представление = НСтр("ru = 'Ссылка'");
+ Поле.ТипЗначения = Новый ОписаниеТипов();
+
+ Поле = СписокПолей.Строки.Добавить();
+ Поле.Идентификатор = "QRКод";
+ Поле.Представление = НСтр("ru='QR-код'");
+ Поле.Картинка = БиблиотекаКартинок.ТипКартинка;
+ Поле.Порядок = 1;
+
+ СхемаДанныеШтрихкодов = УправлениеПечатью.СхемаКомпоновкиДанныхПечати(СписокПолей);
+ ИсточникиДанныхПечати.Добавить(СхемаДанныеШтрихкодов, "QRКодСчетаНаОплату");
+
+ КонецЕсли;
+
+ Если Объект = "Справочник._ДемоФизическиеЛица.Наименование" Тогда
+ СписокПолей = УправлениеПечатью.ТаблицаПолейДанныхПечати();
+
+ Поле = СписокПолей.Добавить();
+ Поле.Идентификатор = "Ссылка";
+ Поле.Представление = НСтр("ru = 'Ссылка'");
+ Поле.ТипЗначения = Новый ОписаниеТипов();
+
+ Поле = СписокПолей.Добавить();
+ Поле.Идентификатор = "ФамилияИнициалы";
+ Поле.Представление = НСтр("ru = 'Фамилия И. О.'");
+ Поле.ТипЗначения = Новый ОписаниеТипов("Строка");
+
+ СхемаДанных = УправлениеПечатью.СхемаКомпоновкиДанныхПечати(СписокПолей);
+
+ ИсточникиДанныхПечати.Добавить(СхемаДанных, "ДанныеПечатиФамилияИнициалы");
+
+ КонецЕсли;
+
+ // _Демо конец примера
+
+КонецПроцедуры
+
+
+// Подготавливает данные печати. Вызывается в случае, если используемая схема компоновки данных содержит набор
+// данных Объект.
+// В случае, если в качестве идентификатора схемы используется имя объекта метаданных, то вместо этой процедуры
+// вызывается аналогичная процедура модуля менеджера объекта.
+//
+// Параметры:
+// ИсточникиДанных - Массив - объекты, для которых формируются данные печати.
+// ВнешниеНаборыДанных - Структура - коллекция наборов данных для передачи в процессор компоновки данных.
+// ИдентификаторСхемыКомпоновкиДанных - Строка - идентификатор СКД, указанный в ПриОпределенииИсточниковДанныхПечати.
+// КодЯзыка - Строка - язык, на котором требуется подготовить данные печати.
+// ДополнительныеПараметры - Структура:
+// * ОписанияИсточниковДанных - ТаблицаЗначений - дополнительные сведения об объектах, для которых формируются данные печати.
+// * ДанныеИсточниковСгруппированыПоВладельцуИсточникаДанных - Булево - указывает на то, что в результате компоновки
+// данные печати сгруппированы не по объектам печати, а по их владельцам в схеме данных печати.
+//
+Процедура ПриПодготовкеДанныхПечати(ИсточникиДанных, ВнешниеНаборыДанных, ИдентификаторСхемыКомпоновкиДанных, КодЯзыка,
+ ДополнительныеПараметры) Экспорт
+
+ Если ИдентификаторСхемыКомпоновкиДанных = "QRКодСчетаНаОплату" Тогда
+
+ НаборДанных = Новый ТаблицаЗначений();
+ НаборДанных.Колонки.Добавить("Ссылка");
+ НаборДанных.Колонки.Добавить("QRКод");
+
+
+ ДанныеДокументов = ДанныеДокументов(ИсточникиДанных);
+
+ QRКоды = Новый Соответствие;
+ Для Каждого РеквизитыПлатежа Из ДанныеДокументов Цикл
+ ПолучитьСообщенияПользователю();
+ QRСтрока = Неопределено;
+ // Локализация
+ QRСтрока = УправлениеПечатьюРФ.ФорматнаяСтрокаУФЭБС(РеквизитыПлатежа);
+ // Конец Локализация
+
+ Если ПустаяСтрока(QRСтрока) Тогда
+ QRКоды.Вставить(РеквизитыПлатежа.Ссылка, Новый Картинка());
+ Продолжить;
+ КонецЕсли;
+
+ ДанныеQRКода = ГенерацияШтрихкода.ДанныеQRКода(QRСтрока, 1, 120);
+
+ Если НЕ ТипЗнч(ДанныеQRКода) = Тип("ДвоичныеДанные") Тогда
+ Шаблон = НСтр("ru = 'Не удалось сформировать QR-код для документа %1.
+ |Технические подробности см. в журнале регистрации.'");
+ ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Шаблон, РеквизитыПлатежа.Ссылка);
+ ОбщегоНазначения.СообщитьПользователю(ТекстСообщения);
+ Продолжить;
+ КонецЕсли;
+
+ QRКод = Новый Картинка(ДанныеQRКода);
+ QRКоды.Вставить(РеквизитыПлатежа.Ссылка, QRКод);
+ КонецЦикла;
+
+ Для Каждого ИсточникДанных Из ИсточникиДанных Цикл
+ ЗначениеПолейДанных = НаборДанных.Добавить();
+ ЗначениеПолейДанных.Ссылка = ИсточникДанных;
+ ЗначениеПолейДанных.QRКод = QRКоды[ИсточникДанных];
+ КонецЦикла;
+
+ ВнешниеНаборыДанных.Вставить("Данные", НаборДанных);
+ Возврат;
+ КонецЕсли;
+
+ Если ИдентификаторСхемыКомпоновкиДанных = "ДанныеПечатиФамилияИнициалы" Тогда
+
+ ДанныеПечати = Новый ТаблицаЗначений();
+ ДанныеПечати.Колонки.Добавить("Ссылка");
+ ДанныеПечати.Колонки.Добавить("ФамилияИнициалы");
+
+ Для Каждого Объект Из Объекты Цикл
+ СтрокаТаблицы = ДанныеПечати.Добавить();
+ СтрокаТаблицы.Ссылка = Объект;
+ СтрокаТаблицы.ФамилияИнициалы = ФизическиеЛицаКлиентСервер.ФамилияИнициалы(Объект);
+ КонецЦикла;
+
+ ВнешниеНаборыДанных.Вставить("Данные", ДанныеПечати);
+ Возврат;
+ КонецЕсли;
+
+КонецПроцедуры
+
+```
+
+
+
+### Макет open office XML (DOC)
+
+Отличается только конструктором, все остальное, так же, как описано выше для MXL
+
+
+
+## Традиционное формирование печатной формы
+
+### Макет табличного документа
+
+В `модуле менеджера` реализуем процедуру `ДобавитьКомандыПечати`:
+
+```bsl
+
+Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
+
+ Команда = КомандыПечати.Добавить();
+
+ Команда.МенеджерПечати = "Документ.МойДокумент"; // где процедура "Печать". Можно не указывать, по умолчанию модуль менеджера объекта
+ Команда.Идентификатор = "ПФ_MXL_ПечатнаяФормаМоегоДокумента"; // Произвольная строка, рекомендуется именовать как макет
+ Команда.Представление = НСтр("ru = 'Печатная форма моего документа'");
+
+КонецПроцедуры
+
+```
+
+
+Примеры команд печати
+
+```bsl
+
+// Заполняет список команд печати.
+//
+// Параметры:
+// КомандыПечати - см. УправлениеПечатью.СоздатьКоллекциюКомандПечати
+//
+Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
+
+ // Счет на оплату
+ КомандаПечати = КомандыПечати.Добавить();
+ КомандаПечати.Идентификатор = "Счет";
+ КомандаПечати.Представление = НСтр("ru = 'Счет на оплату'");
+ КомандаПечати.ПроверкаПроведенияПередПечатью = Не Пользователи.РолиДоступны("_ДемоПечатьНепроведенныхДокументов");
+
+ // Счет на оплату без платежных реквизитов.
+ КомандаПечати = КомандыПечати.Добавить();
+ КомандаПечати.Идентификатор = "Счет";
+ КомандаПечати.Представление = НСтр("ru = 'Счет на оплату без платежных реквизитов'");
+ КомандаПечати.ПроверкаПроведенияПередПечатью = Не Пользователи.РолиДоступны("_ДемоПечатьНепроведенныхДокументов");
+
+ // Это будет доступно в аргументе "ПараметрыПечати" метода "Печать"
+ КомандаПечати.ДополнительныеПараметры.Вставить("ВыводитьПлатежныеРеквизиты", Ложь);
+
+ // Демо-пример ограничения доступности команд печати.
+ Если Пользователи.РолиДоступны("_ДемоПечатьСчетаНаОплатуНаПринтер") Тогда
+ // Счет на оплату (на принтер).
+ КомандаПечати = КомандыПечати.Добавить();
+ КомандаПечати.Идентификатор = "Счет";
+ КомандаПечати.Представление = НСтр("ru = 'Счет на оплату (на принтер)'");
+ КомандаПечати.Картинка = БиблиотекаКартинок.ПечатьСразу;
+ КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
+ КомандаПечати.СразуНаПринтер = Истина;
+ КонецЕсли;
+
+ Если НЕ Пользователи.ЭтоСеансВнешнегоПользователя() Тогда
+ // Комплект документов
+ КомандаПечати = КомандыПечати.Добавить();
+ КомандаПечати.Идентификатор = "Счет,Заказ,Заказ,Обработка._ДемоПечатнаяФорма.ГарантийноеПисьмо,Счет,Счет,Заказ";
+ КомандаПечати.Представление = НСтр("ru = 'Комплект документов'");
+ КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
+ КомандаПечати.ФиксированныйКомплект = Истина;
+ КомандаПечати.ПереопределитьПользовательскиеНастройкиКоличества = Истина;
+ КомандаПечати.Порядок = 75;
+
+ // Комплект документов (на принтер).
+ КомандаПечати = КомандыПечати.Добавить();
+ КомандаПечати.Идентификатор = "Счет,Заказ,Заказ,Обработка._ДемоПечатнаяФорма.ГарантийноеПисьмо,Счет,Счет,Заказ";
+ КомандаПечати.Представление = НСтр("ru = 'Комплект документов (на принтер)'");
+ КомандаПечати.Картинка = БиблиотекаКартинок.ПечатьСразу;
+ КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
+ КомандаПечати.ФиксированныйКомплект = Истина;
+ КомандаПечати.ПереопределитьПользовательскиеНастройкиКоличества = Истина;
+ КомандаПечати.СразуНаПринтер = Истина;
+ КомандаПечати.Порядок = 75;
+
+ // Настраиваемый комплект документов.
+ КомандаПечати = КомандыПечати.Добавить();
+ КомандаПечати.Идентификатор = "Счет,Заказ,Заказ,Обработка._ДемоПечатнаяФорма.ГарантийноеПисьмо,Счет,Счет,Заказ";
+ КомандаПечати.Представление = НСтр("ru = 'Настраиваемый комплект документов'");
+ КомандаПечати.СписокФорм = "ФормаДокумента,ФормаСписка";
+ КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
+ КомандаПечати.ЗаголовокФормы = НСтр("ru = 'Настраиваемый комплект'");
+ КомандаПечати.ДополнитьКомплектВнешнимиПечатнымиФормами = Истина;
+ КомандаПечати.Порядок = 75;
+ КонецЕсли;
+
+ // Счет на оплату в документ Adobe PDF.
+ КомандаПечати = КомандыПечати.Добавить();
+ КомандаПечати.Идентификатор = "Счет";
+ КомандаПечати.Представление = НСтр("ru = 'Счет на оплату в документ Adobe PDF'");
+ КомандаПечати.Картинка = БиблиотекаКартинок.ФорматPDF;
+ КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
+ КомандаПечати.ФорматСохранения = ТипФайлаТабличногоДокумента.PDF;
+
+ // Счет на оплату в формате Office Open XML
+ КомандаПечати = КомандыПечати.Добавить();
+ КомандаПечати.Идентификатор = "СчетНаОплату(OfficeOpenXML)";
+ КомандаПечати.Представление = НСтр("ru = 'Счет на оплату в Office Open XML'");
+ КомандаПечати.Картинка = БиблиотекаКартинок.ФорматWord;
+ КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
+
+
+ // Счет на оплату в формате Office Open XML (на основе СКД)
+ КомандаПечати = КомандыПечати.Добавить();
+ КомандаПечати.МенеджерПечати = "УправлениеПечатью";
+ КомандаПечати.Идентификатор = "Документ._ДемоСчетНаОплатуПокупателю.ПФ_DOC_СчетНаОплатуСКД_ru";
+ КомандаПечати.Представление = НСтр("ru = 'Счет на оплату в Office Open XML (на основе СКД)'");
+ КомандаПечати.Картинка = БиблиотекаКартинок.ФорматWord;
+ КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
+
+ // Счет на оплату в Microsoft Word.
+ КомандаПечати = КомандыПечати.Добавить();
+ КомандаПечати.Идентификатор = "СчетНаОплату(MSWord)";
+ КомандаПечати.Представление = НСтр("ru = 'Счет на оплату в Microsoft Word (для обратной совместимости)'");
+ КомандаПечати.Картинка = БиблиотекаКартинок.ФорматWord2007;
+ КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
+ КомандаПечати.Обработчик = "_ДемоСтандартныеПодсистемыКлиент.ПечатьСчетовНаОплатуПокупателю";
+
+ // Счет на оплату в OpenOffice.org Writer.
+ КомандаПечати = КомандыПечати.Добавить();
+ КомандаПечати.Идентификатор = "СчетНаОплату(ODT)";
+ КомандаПечати.Представление = НСтр("ru = 'Счет на оплату в OpenOffice.org Writer (для обратной совместимости)'");
+ КомандаПечати.Картинка = БиблиотекаКартинок.ФорматOpenOfficeWriter;
+ КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
+ КомандаПечати.Обработчик = "_ДемоСтандартныеПодсистемыКлиент.ПечатьСчетовНаОплатуПокупателю";
+
+ // Локализация
+ // Квитанция на оплату с QR кодом.
+ КомандаПечати = КомандыПечати.Добавить();
+ КомандаПечати.Идентификатор = "Квитанция";
+ КомандаПечати.Представление = НСтр("ru = 'Квитанция (с QR кодом)'");
+ КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
+ КомандаПечати.Порядок = 85;
+ // Конец Локализация
+
+ // Печатная форма с ошибкой формирования.
+ КомандаПечати = КомандыПечати.Добавить();
+ КомандаПечати.Идентификатор = "ПечатнаяФормаСОшибкой";
+ КомандаПечати.Представление = НСтр("ru = 'Печатная форма с ошибкой формирования'");
+ КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
+ КомандаПечати.Порядок = 100;
+
+КонецПроцедуры
+
+```
+
+
+
+В `модуле менеджера` реализуем процедуру `Печать`:
+
+```bsl
+
+// Формирует печатные формы.
+//
+// Параметры:
+// МассивОбъектов - см. УправлениеПечатьюПереопределяемый.ПриПечати.МассивОбъектов
+// ПараметрыПечати - см. УправлениеПечатьюПереопределяемый.ПриПечати.ПараметрыПечати
+// КоллекцияПечатныхФорм - см. УправлениеПечатьюПереопределяемый.ПриПечати.КоллекцияПечатныхФорм
+// ОбъектыПечати - см. УправлениеПечатьюПереопределяемый.ПриПечати.ОбъектыПечати
+// ПараметрыВывода - см. УправлениеПечатьюПереопределяемый.ПриПечати.ПараметрыВывода
+//
+Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
+
+ ИдентификаторКоманды = "Заказ";
+ ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, ИдентификаторКоманды);
+ Если ПечатнаяФорма <> Неопределено Тогда
+ // ПечатьСчетаЗаказа - функция, возвращающая заполненный табличный документ
+ ПечатнаяФорма.ТабличныйДокумент = ПечатьСчетаЗаказа(МассивОбъектов, ОбъектыПечати, "Заказ");
+ ПечатнаяФорма.СинонимМакета = НСтр("ru = 'Заказ покупателя'");
+ ПечатнаяФорма.ПолныйПутьКМакету = "Документ._ДемоСчетНаОплатуПокупателю.ПФ_MXL_СчетЗаказ";
+ КонецЕсли;
+
+КонецПроцедуры
+
+```
+
+
+Пример печати (Демо)
+
+```bsl
+
+// Формирует печатные формы.
+//
+// Параметры:
+// МассивОбъектов - см. УправлениеПечатьюПереопределяемый.ПриПечати.МассивОбъектов
+// ПараметрыПечати - см. УправлениеПечатьюПереопределяемый.ПриПечати.ПараметрыПечати
+// КоллекцияПечатныхФорм - см. УправлениеПечатьюПереопределяемый.ПриПечати.КоллекцияПечатныхФорм
+// ОбъектыПечати - см. УправлениеПечатьюПереопределяемый.ПриПечати.ОбъектыПечати
+// ПараметрыВывода - см. УправлениеПечатьюПереопределяемый.ПриПечати.ПараметрыВывода
+//
+Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
+
+ // печать счета на оплату
+ ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "СчетНаОплату(OfficeOpenXML)");
+ Если ПечатнаяФорма <> Неопределено Тогда
+
+ ИмяМакета = "СчетНаОплату(OfficeOpenXML)";
+ МакетИДанныеОбъекта = УправлениеПечатью.МакетыИДанныеОбъектовДляПечати("Документ._ДемоСчетНаОплатуПокупателю",
+ ИмяМакета, МассивОбъектов);
+
+ ОфисныеДокументы = Новый Соответствие;
+
+ Шаблон = НСтр("ru = '[Организация]-[Контрагент] Счет №[Номер] от [Дата]'");
+ ЗначенияРеквизитовДокументов = ОбщегоНазначения.ЗначенияРеквизитовОбъектов(МассивОбъектов,
+ "Организация,Контрагент,Номер,Дата,Ссылка");
+ Для Каждого Ссылка Из МассивОбъектов Цикл
+
+ ЗначенияРеквизитовДокумента = ЗначенияРеквизитовДокументов[Ссылка];
+ ЗначенияРеквизитовДокумента.Дата = Формат(ЗначенияРеквизитовДокумента.Дата, "ДЛФ=D");
+ ЗначенияРеквизитовДокумента.Номер = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ЗначенияРеквизитовДокумента.Номер);
+ ИмяДокумента = СтроковыеФункцииКлиентСервер.ВставитьПараметрыВСтроку(Шаблон, ЗначенияРеквизитовДокументов[Ссылка]);
+
+ АдресХранилищаОфисныйДокумент = НапечататьСчетНаОплатуПокупателю(Ссылка, МакетИДанныеОбъекта, ИмяМакета);
+
+ ОфисныеДокументы.Вставить(АдресХранилищаОфисныйДокумент, ИмяДокумента);
+
+ КонецЦикла;
+
+ ПечатнаяФорма.СинонимМакета = НСтр("ru = 'Счет на оплату'");
+ ПечатнаяФорма.ОфисныеДокументы = ОфисныеДокументы;
+
+ КонецЕсли;
+
+ // печать счета на оплату
+ ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "Счет");
+ Если ПечатнаяФорма <> Неопределено Тогда
+ // имена файлов
+ ИменаФайлов = Новый Соответствие;
+ Шаблон = НСтр("ru = '[Организация]-[Контрагент] Счет №[Номер] от [Дата]'");
+ ЗначенияРеквизитовДокументов = ОбщегоНазначения.ЗначенияРеквизитовОбъектов(МассивОбъектов,
+ "Организация,Контрагент,Номер,Дата,Ссылка");
+ Для Каждого Ссылка Из МассивОбъектов Цикл
+ ЗначенияРеквизитовДокумента = ЗначенияРеквизитовДокументов[Ссылка];
+ ЗначенияРеквизитовДокумента.Дата = Формат(ЗначенияРеквизитовДокумента.Дата, "ДЛФ=D");
+ ЗначенияРеквизитовДокумента.Номер = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ЗначенияРеквизитовДокумента.Номер);
+ ИмяФайла = СтроковыеФункцииКлиентСервер.ВставитьПараметрыВСтроку(Шаблон, ЗначенияРеквизитовДокументов[Ссылка]);
+ ИменаФайлов.Вставить(Ссылка, ИмяФайла);
+ КонецЦикла;
+
+ // описание печатной формы
+ ВыводитьПлатежныеРеквизиты = Истина;
+ Если ПараметрыПечати.Свойство("ВыводитьПлатежныеРеквизиты") Тогда
+ ВыводитьПлатежныеРеквизиты = ПараметрыПечати.ВыводитьПлатежныеРеквизиты;
+ КонецЕсли;
+ ПечатнаяФорма.ТабличныйДокумент = ПечатьСчетаЗаказа(МассивОбъектов, ОбъектыПечати, "Счет",
+ ВыводитьПлатежныеРеквизиты, ПараметрыВывода.КодЯзыка);
+ ПечатнаяФорма.СинонимМакета = НСтр("ru = 'Счет на оплату'");
+ ПечатнаяФорма.ПолныйПутьКМакету = "Документ._ДемоСчетНаОплатуПокупателю.ПФ_MXL_СчетЗаказ";
+ ПечатнаяФорма.ИмяФайлаПечатнойФормы = ИменаФайлов;
+ ПечатнаяФорма.ДоступенВыводНаДругихЯзыках = Истина;
+ КонецЕсли;
+
+ // печать заказа покупателя
+ ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "Заказ");
+ Если ПечатнаяФорма <> Неопределено Тогда
+ ПечатнаяФорма.ТабличныйДокумент = ПечатьСчетаЗаказа(МассивОбъектов, ОбъектыПечати, "Заказ");
+ ПечатнаяФорма.СинонимМакета = НСтр("ru = 'Заказ покупателя'");
+ ПечатнаяФорма.ПолныйПутьКМакету = "Документ._ДемоСчетНаОплатуПокупателю.ПФ_MXL_СчетЗаказ";
+ КонецЕсли;
+
+ // Локализация
+ // печать квитанции
+ ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "Квитанция");
+ Если ПечатнаяФорма <> Неопределено Тогда
+ ПечатнаяФорма.ТабличныйДокумент = ПечатьКвитанции(МассивОбъектов, ОбъектыПечати);
+ ПечатнаяФорма.СинонимМакета = НСтр("ru = 'Квитанция (с QR кодом)'");
+ ПечатнаяФорма.ПолныйПутьКМакету = "Документ._ДемоСчетНаОплатуПокупателю.ПФ_MXL_Квитанция";
+ КонецЕсли;
+ // Конец Локализация
+
+ // Параметры отправки печатных форм по электронной почте.
+ ПриОпределенииПолучателей(ПараметрыВывода.ПараметрыОтправки, МассивОбъектов, КоллекцияПечатныхФорм);
+КонецПроцедуры
+
+```
+
+
+
+
+### Макет open office XML (DOC)
+
+Макет - обычный офисный документ, в котором особым образом выделены области и параметры.
+Макет может быть создан в Microsoft Word, OpenOffice, Google Docs и др.
+
+Области выделяются блоком вида
+```
+{v8 Область.<ИмяОбласти>}
+
+{/v8 Область.<ИмяОбласти>}
+```
+
+Параметры выделяются маркером вида `{v8 <ИмяПараметра>}`
+
+Области могут быть следующих типов:
+
+
+
+В `модуле менеджера`:
+- Создаем команды печати
+```bsl
+
+// Заполняет список команд печати.
+//
+// Параметры:
+// КомандыПечати - см. УправлениеПечатью.СоздатьКоллекциюКомандПечати
+//
+Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
+
+ // формирование печатной формы в коде (Open Office XML)
+ КомандаПечати = КомандыПечати.Добавить();
+ КомандаПечати.МенеджерПечати = "Документ.ЗаказКлиента";
+ КомандаПечати.Идентификатор = "КоммерческоеПредложение";
+ КомандаПечати.Картинка = БиблиотекаКартинок.ФорматWord2007;
+ КомандаПечати.Представление = НСтр("ru = 'Коммерческое предложение (кодом)'");
+ КомандаПечати.Порядок = 4;
+
+КонецПроцедуры
+
+```
+- Реализуем метод `Печать`
+
+```bsl
+
+// Формирует печатные формы.
+//
+// Параметры:
+// МассивОбъектов – Массив – ссылки на объекты, которые нужно распечатать;
+// ПараметрыПечати – Структура – дополнительные настройки печати;
+// КоллекцияПечатныхФорм – ТаблицаЗначений – сформированные табличные документы (выходной параметр)
+// ОбъектыПечати – СписокЗначений – значение – ссылка на объект;
+// представление – имя области, в которой был выведен объект (выходной параметр);
+// ПараметрыВывода – Структура – дополнительные параметры сформированных табличных документов (выходной параметр).
+//
+Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
+
+ ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "КоммерческоеПредложение");
+ Если ПечатнаяФорма <> Неопределено Тогда
+ // * ОфисныеДокументы - Соответствие из КлючИЗначение - коллекция печатных форм в формате офисных документов:
+ // ** Ключ - Строка - адрес во временном хранилище двоичных данных печатной формы;
+ // ** Значение - Строка - имя файла печатной формы.
+ ПечатнаяФорма.ОфисныеДокументы = ПечатьКоммерческогоПредложения(МассивОбъектов);
+ ПечатнаяФорма.СинонимМакета = "Коммерческое предложение";
+ КонецЕсли;
+
+КонецПроцедуры
+
+Функция СформироватьОфисныйДокумент(Ссылка)
+
+ // Подготавливаем макет для формирования печатной формы OpenXML
+ МакетДокумента = ПолучитьМакет("ПФ_DOCX_КомерческоеПредложение");
+ Макет = УправлениеПечатью.ИнициализироватьМакетОфисногоДокумента(МакетДокумента, Неопределено);
+
+ // Создаем структуру областей формируемой печатной формы OpenXМL
+ ОписаниеОбластей = Новый Структура;
+ УправлениеПечатью.ДобавитьОписаниеОбласти(ОписаниеОбластей, "Заголовок", "Общая");
+ УправлениеПечатью.ДобавитьОписаниеОбласти(ОписаниеОбластей, "Шапка", "Общая");
+ УправлениеПечатью.ДобавитьОписаниеОбласти(ОписаниеОбластей, "ШапкаТаблицы", "Общая");
+ УправлениеПечатью.ДобавитьОписаниеОбласти(ОписаниеОбластей, "СтрокаТаблицы", "СтрокаТаблицы");
+ УправлениеПечатью.ДобавитьОписаниеОбласти(ОписаниеОбластей, "Подвал", "Общая");
+
+ // Подготавливаем печатную форму в формате офисного документа
+ ПечатнаяФорма = УправлениеПечатью.ИнициализироватьПечатнуюФорму(Неопределено, Неопределено, Макет);
+
+ //получаем данные документа
+ Запрос = Новый Запрос;
+ Запрос.Текст = ТекстЗапроса(); // какой-то запрос
+ Запрос.УстановитьПараметр("Ссылка", Ссылка);
+
+ ДанныеДляПечати = Запрос.ВыполнитьПакет();
+
+ Шапка = ДанныеДляПечати[0].Выгрузить();
+ Товары = ДанныеДляПечати[1].Выгрузить();
+
+ ДанныеШапка = ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(Шапка[0]);
+ ДанныеШапка["Номер"] = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ДанныеШапка["Номер"], Истина, Истина);
+ ДанныеШапка["Дата"] = Формат(ДанныеШапка["Дата"], "ДФ=dd.MM.yyyy");
+
+ ВидКИ_ТелефонОрганизации = Справочники.ВидыКонтактнойИнформации.ТелефонОрганизации;
+ ВидКИ_СайтОрганизации = Справочники.ВидыКонтактнойИнформации.СайтОрганизации;
+
+ ТелефонОрганизации = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(ДанныеШапка.Организация, ВидКИ_ТелефонОрганизации, ТекущаяДата());
+ СайтОрганизации = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(ДанныеШапка.Организация, ВидКИ_СайтОрганизации, ТекущаяДата());
+
+ ДанныеШапка.Вставить("ТелефонОрганизации", ТелефонОрганизации);
+ ДанныеШапка.Вставить("СайтОрганизации", СайтОрганизации);
+
+ ДанныеТовары = ОбщегоНазначения.ТаблицаЗначенийВМассив(Товары);
+
+ // Вывод заголовка
+ Область = УправлениеПечатью.ОбластьМакета(Макет, ОписаниеОбластей["Заголовок"]);
+ УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФорма, Область, ДанныеШапка);
+
+ // Вывод шапки документа
+ Область = УправлениеПечатью.ОбластьМакета(Макет, ОписаниеОбластей["Шапка"]);
+ УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФорма, Область, ДанныеШапка);
+
+ // Вывод таблицы
+ Если ДанныеТовары.Количество() > 0 Тогда
+ // Шапка
+ Область = УправлениеПечатью.ОбластьМакета(Макет, ОписаниеОбластей["ШапкаТаблицы"]);
+ УправлениеПечатью.ПрисоединитьОбласть(ПечатнаяФорма, Область, Ложь);
+
+ // Выводим сразу всю коллекцию
+ Область = УправлениеПечатью.ОбластьМакета(Макет, ОписаниеОбластей["СтрокаТаблицы"]);
+ УправлениеПечатью.ПрисоединитьИЗаполнитьКоллекцию(ПечатнаяФорма, Область, ДанныеТовары);
+ КонецЕсли;
+
+ // Вывод подвала
+ Область = УправлениеПечатью.ОбластьМакета(Макет, ОписаниеОбластей["Подвал"]);
+ УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФорма, Область, ДанныеШапка);
+
+ // Помещаем сформированную печатную форму в соответствие ОфисныеДокументы
+ АдресХранилищаПечатнойФормы = УправлениеПечатью.СформироватьДокумент(ПечатнаяФорма);
+
+ //удаление временных файлов
+ УправлениеПечатью.ОчиститьСсылки(ПечатнаяФорма);
+ УправлениеПечатью.ОчиститьСсылки(Макет);
+
+ Возврат АдресХранилищаПечатнойФормы;
+
+КонецФункции // СформироватьОфисныйДокумент()
+
+```
+
+## Дополнительно
+
+
+Описание свойств команды печати
+
+```bsl
+// Создает пустую таблицу с описанием команд печати.
+// Таблица команд печати передается в процедуры ДобавитьКомандыПечати,
+// размещенные в модулях менеджеров объектов конфигурации, которые перечислены в процедуре
+// УправлениеПечатьюПереопределяемый.ПриОпределенииОбъектовСКомандамиПечати.
+//
+// Возвращаемое значение:
+// ТаблицаЗначений:
+//
+// * Идентификатор - Строка - идентификатор команды печати, по которому менеджер печати определяет печатную
+// форму, которую необходимо сформировать.
+// Например, "СчетЗаказ".
+//
+// Для печати нескольких печатных форм можно указывать одновременно несколько их
+// идентификаторов (строкой, через запятую либо массивом строк), например:
+// "СчетЗаказ,ГарантийноеПисьмо".
+//
+// Если необходимо задать количество копий печати для печатной формы, то ее
+// идентификатор нужно продублировать столько раз, сколько копий необходимо
+// сформировать. При этом следует учитывать, что порядок следования печатных
+// форм в комплекте будет соответствовать порядку идентификаторов печатных форм,
+// указанных в этом параметре. Например (2 счета на оплату + 1 гарантийное письмо):
+// "СчетЗаказ,СчетЗаказ,ГарантийноеПисьмо".
+//
+// Идентификатор печатной формы может содержать в себе и альтернативный менеджер
+// печати, если он отличается от указанного в параметре МенеджерПечати,
+// например: "СчетЗаказ,Обработка.ПечатнаяФорма.ГарантийноеПисьмо".
+//
+// В этом примере ГарантийноеПисьмо формируется в менеджере печати
+// Обработка.ПечатнаяФорма, а СчетЗаказ - в менеджере печати, указанном в
+// параметре МенеджерПечати.
+//
+// Для печатных форм, менеджером печати которых является общий модуль
+// "УправлениеПечатью", в качестве идентификатора необходимо указать полный путь к макету.
+// Например, "Документ.СчетНаОплатуПокупателю.ПФ_MXL_СчетНаОплату".
+//
+// - Массив - список идентификаторов команд печати.
+//
+// * Представление - Строка - представление команды в меню Печать.
+// Например, "Счет на оплату".
+//
+// * МенеджерПечати - Строка - (необязательный) имя объекта, в модуле менеджера которого располагается
+// процедура Печать, формирующая табличные документы для этой команды.
+// Если печатная форма формируется автоматически по данным печати и макету, то
+// в параметре необходимо указать общий модуль "УправлениеПечатью".
+// Значение по умолчанию - имя модуля менеджера объекта.
+// Например, "Документ.СчетНаОплатуПокупателю".
+// * ТипыОбъектовПечати - Массив - (необязательный) список типов объектов, для которых предназначена команда
+// печати. Параметр предназначен для команд печати в журналах документов, где
+// требуется проверка передаваемого типа объекта перед вызовом менеджера печати.
+// Если список не заполнен, то при автоматическом создании списка команд печати
+// в журнале документов он заполняется типом объекта, из которого была
+// импортирована команда печати.
+//
+// * Обработчик - Строка - (необязательный) клиентский обработчик команды, в который необходимо передать
+// управление вместо стандартного обработчика команды Печать. Используется,
+// например, когда печатная форма формируется на клиенте.
+// Формат "<ИмяОбщегоМодуля>.<ИмяПроцедуры>" используется, когда процедура размещена
+// в общем модуле.
+// Формат "<ИмяПроцедуры>" используется, когда процедура размещена
+// в модуле основной формы отчета или обработки, указанной в МенеджерПечати.
+// Например,
+// КомандаПечати.Обработчик = "ЗащитаПерсональныхДанныхКлиент.ОткрытьФормуСогласиеНаОбработкуПерсональныхДанных";
+// Пример обработчика в модуле формы:
+// // Формирует печатную форму <представление печатной формы>.
+// //
+// // Параметры:
+// // ПараметрыПечати - Структура - сведения о печатной форме.
+// // * ОбъектыПечати - Массив - массив ссылок выбранных объектов.
+// // * Форма - ФормаКлиентскогоПриложения - форма, из которой вызвана
+// // команда печати.
+// // * ДополнительныеПараметры - Структура - дополнительные параметры печати.
+// // Прочие ключи структуры соответствуют колонкам таблицы КомандыПечати,
+// // подробнее см. в функции УправлениеПечатью.СоздатьКоллекциюКомандПечати.
+// //
+// &НаКлиенте
+// Функция <ИмяФункции>(ПараметрыПечати) Экспорт
+// // Обработчик печати.
+// КонецФункции
+// Следует иметь в виду, что обработчик вызывается при помощи метода Вычислить,
+// поэтому в качестве обработчика может выступать только функция.
+// При этом возвращаемое значение функции никак в дальнейшем не используется подсистемой.
+//
+// * Порядок - Число - (необязательный) Значение от 1 до 100, указывающее порядок размещения команды
+// по отношению к другим командам. Сортировка команд меню Печать осуществляется
+// сначала по полю Порядок, затем по представлению.
+// Значение по умолчанию - 50.
+//
+// * Картинка - Картинка - (необязательный) Картинка, которая отображается возле команды в меню Печать.
+// Например, БиблиотекаКартинок.ФорматPDF.
+//
+// * СписокФорм - Строка - (необязательный) Имена форм через запятую, в которых должна отображаться
+// команда. Если параметр не указан, то команда печати будет отображаться во
+// всех формах объекта, где встроена подсистема Печать.
+// Например, "ФормаДокумента".
+//
+// * МестоРазмещения - Строка - (необязательный) Имя группы формы, в которую необходимо разместить
+// команду печати. Параметр необходимо использовать только в случае, когда на
+// форме размещается более одного подменю "Печать". В остальных случаях место
+// размещения необходимо задавать в модуле формы при вызове
+// метода ПодключаемыеКоманды.ПриСозданииНаСервере.
+//
+// * ЗаголовокФормы - Строка - (необязательный) Произвольная строка, переопределяющая стандартных заголовок
+// формы "Печать документов". Например, "Настраиваемый комплект".
+//
+// * ФункциональныеОпции - Строка - (необязательный) Имена функциональных опций через запятую, от которых зависит
+// доступность команды печати.
+//
+// * УсловияВидимости - Массив - (необязательный) Коллекция условий видимости команды в зависимости от
+// контекста. Условия видимости команды задаются при помощи процедуры
+// ДобавитьУсловиеВидимостиКоманды.
+// Если параметр не задан, команда видна вне зависимости от контекста.
+//
+// * ПроверкаПроведенияПередПечатью - Булево - (необязательный) Признак необходимости проверки проведенности
+// документов перед печатью. Если выбран хотя бы один непроведенный документ, то
+// перед выполнением команды печати возникает диалог проведения.
+// Для непроведенных документов команда печати не выполняется.
+// Если параметр не указан, то проверка проведенности не выполняется.
+//
+// * СразуНаПринтер - Булево - (необязательный) Признак необходимости печати документов без предварительного
+// просмотра, сразу на принтер. Если параметр не указан, то при выборе команды
+// печати открывается форма предварительного просмотра "Печать документов".
+//
+// * ФорматСохранения - ТипФайлаТабличногоДокумента - (необязательный) Применяется для быстрого сохранения печатной
+// формы (без дополнительных действий) в различные форматы, отличные от mxl.
+// Если параметр не указан, то формируется обычный mxl.
+// Например, ТипФайлаТабличногоДокумента.PDF.
+//
+// При выборе команды печати сразу открывается сформированный в формате pdf
+// документ.
+//
+// * ПереопределитьПользовательскиеНастройкиКоличества - Булево - (необязательный) Признак необходимости отключения в
+// форме ПечатьДокументов механизма сохранения/восстановления выбранного
+// пользователем количества экземпляров на печать. Если параметр не указан, то
+// механизм сохранения/восстановления настроек будет работать при открытии формы.
+// ПечатьДокументов.
+//
+// * ДополнитьКомплектВнешнимиПечатнымиФормами - Булево - (необязательный) Признак необходимости дополнить комплект
+// документов всеми подключенными к объекту внешними печатными формами
+// (подсистема ДополнительныеОтчетыИОбработки). Если параметр не указан, внешние
+// печатные формы не добавляются в комплект.
+//
+// * ФиксированныйКомплект - Булево - (необязательный) Признак необходимости блокировки от изменения пользователем
+// состава комплекта документов. Если параметр не указан, то пользователь сможет
+// исключать отдельные печатные формы из комплекта в форме ПечатьДокументов, а
+// также изменять их количество.
+//
+// * ДополнительныеПараметры - Структура - (необязательный) произвольные параметры для передачи в менеджер печати.
+//
+// * НеВыполнятьЗаписьВФорме - Булево - (необязательный) Признак необходимости отключения механизма записи объекта
+// перед выполнением команды печати. Используется в исключительных случаях. Если
+// параметр не указан, производится запись объекта в случае, если в форме
+// объекта установлен признак модифицированности.
+//
+// * ТребуетсяРасширениеРаботыСФайлами - Булево - (необязательный) Признак необходимости подключения расширения для работы
+// с 1С:Предприятием перед выполнением команды. Если параметр не указан, расширение
+// подключаться не будет.
+//
+// * ОсновнаяПечатнаяФорма - Булево - (необязательный) Признак определяющий возможность запоминания
+// наименований сформированных печатных форм.
+//
+// * НаименованиеПечатнойФормы - Строка - (необязательный) Наименование, которое будет сохранено при установленном
+// признаке "ОсновнаяПечатнаяФорма". Если не заполнено, будет запоминаться значение
+// из поля "Представление".
+//
+Функция СоздатьКоллекциюКомандПечати() Экспорт
+```
+
+
\ No newline at end of file