К основному контенту

УНФ. Добавляем свои параметры шаблона Коммерческого предложения.


Здесь должен был быть пример как добавить текстовое поле в самом dotx шаблоне, но я кроме как копированием, нужного способа для Word 2016 не нашел.

Для расширения перечня доступных параметров шаблон все необходимые методы можно подсмотреть в Перечисление.НазначенияШаблоновПечатиОфисныхДокументов.МодульМенеджера

В типовой УНФ такими менеджерами выступают Справочники.ДоговорыКонтрагентов, Документы.ЗаказПокупателя см. МенеджерОбъектаПоНазначениюШаблона(НазначениеШаблона)



#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ПрограммныйИнтерфейс

Процедура ПриДобавленииПараметровШаблона(НазначениеШаблона, ПараметрыШаблона) Экспорт
 
 МенеджерОбъектаПоНазначениюШаблона(НазначениеШаблона).ПриДобавленииПараметровШаблона(НазначениеШаблона, ПараметрыШаблона);
 
КонецПроцедуры

Процедура ПриПолученииЗначенийПараметровШаблона(ОбъектПечати, НазначениеШаблона, ОписаниеПараметров, ДополнительныеПараметры) Экспорт
 
 МенеджерОбъектаПоНазначениюШаблона(НазначениеШаблона).ПриПолученииЗначенийПараметровШаблона(ОбъектПечати, НазначениеШаблона, ОписаниеПараметров, ДополнительныеПараметры);
 
КонецПроцедуры

Процедура ПриВыводеТаблицыПараметровШаблона(ПараметрыПечати, ИмяТаблицы, ОписаниеПараметров, ПараметрыВывода) Экспорт
 
 МенеджерОбъектаПоНазначениюШаблона(ПараметрыПечати.НазначениеШаблона).ПриВыводеТаблицыПараметровШаблона(ПараметрыПечати, ИмяТаблицы, ОписаниеПараметров, ПараметрыВывода);
 
КонецПроцедуры

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

Функция МенеджерОбъектаПоНазначениюШаблона(НазначениеШаблона)
 
 Если НазначениеШаблона = Перечисления.НазначенияШаблоновПечатиОфисныхДокументов.ДоговорКонтрагента
  ИЛИ НазначениеШаблона = Перечисления.НазначенияШаблоновПечатиОфисныхДокументов.ДоговорКонтрагентаЗаказ
  ИЛИ НазначениеШаблона = Перечисления.НазначенияШаблоновПечатиОфисныхДокументов.ДоговорКонтрагентаЗаказНаряд
  ИЛИ НазначениеШаблона = Перечисления.НазначенияШаблоновПечатиОфисныхДокументов.ДоговорКонтрагентаСчет Тогда
  
  Возврат Справочники.ДоговорыКонтрагентов;
  
 ИначеЕсли НазначениеШаблона = Перечисления.НазначенияШаблоновПечатиОфисныхДокументов.КоммерческоеПредложение Тогда
  
  Возврат Документы.ЗаказПокупателя;
  
 КонецЕсли;
 
КонецФункции

В модуле менеджера переопределяем методы
 ПриДобавленииПараметровШаблона() - здесь можно управлять составом параметров интерактивной настройки шаблона

 ПриПолученииЗначенийПараметровШаблона() - метод вызывается непосредственно при формировании файла печатной формы, здесь задаем значения добавленных нами параметров шаблона

Как что писать нет необходимости, достаточно подсмотреть модуль ЗаказаПокупателя

Могут пригодится вспомогательные процедуры-функции


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

Комментарии

Популярные сообщения из этого блога

СписокВыбора. Показать Представление вместо Значения

Вводная Если на форме есть элемент управления со списком выбора, в моем конкретном примере это Колонка Значение (Число (3,0)) с настроенным списком выбора. По умолчанию платформа отображает именно строковое значения, а не текст представления  из списка выбора (когда как при выборе значения из списка показываются именно представления). Решение Для Управляемых форм необходимо настроить правила условного оформления, для обычных форм - оформление ячеек при выводе данных.

Расширение конфигурации + Связанные документы (Режим совместимости 8.3.12)

Вводная: реализовать ввод Заказа поставщику на основании Заказа на Ремонт. решить через расширения конфигурации. Хочу обратить ваше внимание, не нужно добавлять в расширение критерий отбора, для 8.3.12 нам не доступно добавление\изменение состава критерия. Более того может зависать конфигуратор (столкнулся с последней версией 8.3.14 + ERP) Разработку рекомендую вести с применением хранилища и для расширения. Иначе устанете потом выгребать чего лишнего включили в расширение при добавлении таких или схожих обектов с составными типами и подобное. Все текущие типовые решения сейчас идут в режиме совместимости 8.3.12, в прочем и для 8.3.14 (и даже 8.3.15 ничего не поменялось). Что нам нужно было бы сделать при отказе от поддержки: 1) добавить наш документ в Критерий отбора (состав, реквизиты); 2) в раздел Ввод на основании целевого документа. И что с целью сохранения поддержки. Как сделать это же для расширения: 1) Добавить реквизит расширения Документы.ЗаказПоставщику._За...

Управляемые формы. Группа формы. Сворачиваемая и свойство Свернута

В конфигураторе в свойствах группы есть свойство "Свернута" не доступное через средства встроенного языка. И честно, уже не в первой вводит в ступор, чтобы не забывать, что и как Начиная с 8.3.12 введены следующие методы для программного управления поведением Версия 8.3.12 | Новые возможности и изменения | Управляемая форма Дальше фрагменты из Синтаксис помошника. Расширение группы формы для обычной группы Скрыть (Hide) Синтаксис: Скрыть() Описание: В зависимости от значения свойства Поведение группы: Обычное - никакие действия не выполняются, Свертываемая - сворачивает группу, Всплывающая - скрывает группу. Доступность: Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер). Скрыта (Hidden) Расширение группы формы для обычной группы (Form group extension for a usual group) Скрыта (Hidden) Синтаксис: Скрыта() Возвращае...