Здесь должен был быть пример как добавить текстовое поле в самом dotx шаблоне, но я кроме как копированием, нужного способа для Word 2016 не нашел.
Для расширения перечня доступных параметров шаблон все необходимые методы можно подсмотреть в Перечисление.НазначенияШаблоновПечатиОфисныхДокументов.МодульМенеджера
В типовой УНФ такими менеджерами выступают Справочники.ДоговорыКонтрагентов, Документы.ЗаказПокупателя см. МенеджерОбъектаПоНазначениюШаблона(НазначениеШаблона)
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда #Область ПрограммныйИнтерфейс Процедура ПриДобавленииПараметровШаблона(НазначениеШаблона, ПараметрыШаблона) Экспорт МенеджерОбъектаПоНазначениюШаблона(НазначениеШаблона).ПриДобавленииПараметровШаблона(НазначениеШаблона, ПараметрыШаблона); КонецПроцедуры Процедура ПриПолученииЗначенийПараметровШаблона(ОбъектПечати, НазначениеШаблона, ОписаниеПараметров, ДополнительныеПараметры) Экспорт МенеджерОбъектаПоНазначениюШаблона(НазначениеШаблона).ПриПолученииЗначенийПараметровШаблона(ОбъектПечати, НазначениеШаблона, ОписаниеПараметров, ДополнительныеПараметры); КонецПроцедуры Процедура ПриВыводеТаблицыПараметровШаблона(ПараметрыПечати, ИмяТаблицы, ОписаниеПараметров, ПараметрыВывода) Экспорт МенеджерОбъектаПоНазначениюШаблона(ПараметрыПечати.НазначениеШаблона).ПриВыводеТаблицыПараметровШаблона(ПараметрыПечати, ИмяТаблицы, ОписаниеПараметров, ПараметрыВывода); КонецПроцедуры #КонецОбласти #Область СлужебныеПроцедурыИФункции Функция МенеджерОбъектаПоНазначениюШаблона(НазначениеШаблона) Если НазначениеШаблона = Перечисления.НазначенияШаблоновПечатиОфисныхДокументов.ДоговорКонтрагента ИЛИ НазначениеШаблона = Перечисления.НазначенияШаблоновПечатиОфисныхДокументов.ДоговорКонтрагентаЗаказ ИЛИ НазначениеШаблона = Перечисления.НазначенияШаблоновПечатиОфисныхДокументов.ДоговорКонтрагентаЗаказНаряд ИЛИ НазначениеШаблона = Перечисления.НазначенияШаблоновПечатиОфисныхДокументов.ДоговорКонтрагентаСчет Тогда Возврат Справочники.ДоговорыКонтрагентов; ИначеЕсли НазначениеШаблона = Перечисления.НазначенияШаблоновПечатиОфисныхДокументов.КоммерческоеПредложение Тогда Возврат Документы.ЗаказПокупателя; КонецЕсли; КонецФункции
В модуле менеджера переопределяем методы
ПриДобавленииПараметровШаблона() - здесь можно управлять составом параметров интерактивной настройки шаблона
ПриПолученииЗначенийПараметровШаблона() - метод вызывается непосредственно при формировании файла печатной формы, здесь задаем значения добавленных нами параметров шаблона
Как что писать нет необходимости, достаточно подсмотреть модуль ЗаказаПокупателя
Могут пригодится вспомогательные процедуры-функции
Функция НайтиГруппуПараметровШаблона(ПараметрыШаблона, Представление)
Если ПараметрыШаблона <> Неопределено Тогда
Для Каждого Элемент Из ПараметрыШаблона Цикл
Если Элемент.Представление = Представление Тогда
Возврат Элемент.Элементы;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецФункции
Функция НайтиДобавитьГруппуПараметровШаблона(ПараметрыШаблона, Представление)
Результат = НайтиГруппуПараметровШаблона(ПараметрыШаблона, Представление);
Если Результат = Неопределено Тогда
Результат = ШаблоныПечатиОфисныхДокументов.ДобавитьГруппуПараметровШаблона(ПараметрыШаблона, Представление);
КонецЕсли;
Возврат Результат;
КонецФункции
ПараметрыТаблицыЗапасы = НайтиГруппуПараметровШаблона(ПараметрыШаблона, НСтр("ru='Товары, услуги'"));
Если ПараметрыТаблицыЗапасы = Неопределено Тогда
Возврат;
КонецЕсли;
// Добавляем нашу группу параметров в ветку "Товары, услуги"
ПараметрыХарактеристикиТаблицыЗапасы = НайтиДобавитьГруппуПараметровШаблона(ПараметрыТаблицыЗапасы, НСтр("ru='Характеристика'"));
// Ищем ранее созданную группу параметров "Товар, услуга" (номенклатура)
ПараметрыНоменклатурыТаблицыЗапасы = НайтиГруппуПараметровШаблона(ПараметрыТаблицыЗапасы, НСтр("ru='Товар, услуга'"));
Если ПараметрыНоменклатурыТаблицыЗапасы = Неопределено Тогда
Возврат;
КонецЕсли;
Комментарии
Отправить комментарий