Расширенная настройка Универсальной формы договора для 1С

В этой статье описано как использовать расширенные возможности, появившиеся в новых версиях обработок «Универсальная форма договора», которые теперь поддерживают вывод стандартных и дополнительных реквизитов, а также контактной информации в текст договора.

Расширенная настройка Универсальной формы договора для 1С | tekdata.ru

Из видеоинструкций мы знаем, что если мы хотим обратиться к дополнительным реквизитам контрагента или организации, указанных в документе, из которого мы печатаем договор, то нам нужно использовать конструкцию ДопРеквизит(Имя доп. реквизита):

• [Организация.ДопРеквизит(Имя доп. реквизита)]
• [Контрагент.ДопРеквизит(Имя доп. реквизита)]

Для конфигураций 1С:Управление Торговлей, где есть разделение на контрагентов и партнеров, мы можем обращаться так же и к партнерам:

• [Партнер.ДопРеквизит(Имя доп. реквизита)]

Если мы хотим обратиться к дополнительному реквизиту самого документа, то в начале тэга уже не надо писать «Организация.», «Контрагент.», «Партнер.», а сразу:

• [ДопРеквизит(Имя доп. реквизита)] — т.е. тут берется доп. реквизит, созданный для документа из которого осуществляется печать.

Здесь везде Имя доп. реквизита — это точное имя, которые вы давали доп. реквизиту при его создании. Например, [Контрагент.ДопРеквизит(Постоянная скидка покупателя (%))], т.е. здесь подразумевается, что у контрагента, указанного в документе, есть дополнительный реквизит с наименованием «Постоянная скидка покупателя (%)». Его значение и заменит этот тэг.

Расширенная настройка Универсальной формы договора для 1С | tekdata.ru

Аналогично работает конструкция КонтактнаяИнфо(Имя вида конт. информации) для обращения к контактной информации контрагентов и организаций:

• [Организация.КонтактнаяИнфо(Имя вида конт. информации)]
• [Контрагент.КонтактнаяИнфо(Имя вида конт. информации)]
• [Партнер.КонтактнаяИнфо(Имя вида конт. информации)]

Здесь везде Имя вида конт. информации — точное имя вида контактной информации. Это могут быть предопределенные виды контактной информации, такие как «Телефон», «Юридический адрес», «Факс» или же созданные вами в настройках «Видов контактной информации», допустим, «E-mail основного менеджера». Пример: [Организация.КонтактнаяИнфо(E-mail основного менеджера)].

Расширенная настройка Универсальной формы договора для 1С | tekdata.ru

Следующее, что может быть очень полезно, это вложенные тэги. Иногда нам нужно вывести в печатную форму договора не сам дополнительный реквизит, а другой его дополнительный реквизит (или какой-либо вид контактной информации). Такое работает, если первый доп. реквизит — это не строка, не число, не дата, а какой-то другой объект, например, «Физическое лицо» или «Документ». Для этого можно пользоваться конструкциями тэга вида:

• [Организация.ДопРеквизит(Имя доп. реквизита).ДопРеквизит(Имя доп. реквизита)]
• [Контрагент.ДопРеквизит(Имя доп. реквизита).КонткатнаяИнфо(Имя вида конт. информации)]
• [Контрагент.ДопРеквизит(Имя доп. реквизита).ДопРеквизит(Имя доп. реквизита).КонткатнаяИнфо(Имя вида конт. информации)]
• [ДопРеквизит(Имя дополнительного реквизита).ДопРеквизит(Имя доп. реквизита).КонткатнаяИнфо(Имя вида конт. информации)]

В последнем случае сначала берем доп. реквизит документа, потом доп. реквизит этого доп. реквизита и в конце его контактную информацию.

Например, у нашей организации есть доп. реквизит с наименованием «Юрист организации», его тип — физическое лицо. Для физических лиц мы добавили вид контактной информации — «Телефон для печати в договорах» и заполнили его у нашего юриста. Тогда чтобы вывести этот телефон в текст договора нужно составить тэг: [Организация.ДопРеквизит(Юрист организации).КонтактнаяИнфо(Телефон для печати в договорах)].

Расширенная настройка Универсальной формы договора для 1С | tekdata.ru

Помимо этих двух конструкций, позволяющих вывести на печать доп. реквизиты и контактную информацию, существует третий — Реквизит(ИмяРеквизита), позволяющий работать со стандартными реквизитами документа, контрагента или организации из него:

• [Организация.Реквизит(ИмяРеквизита)]
• [Контрагент.Реквизит(ИмяРеквизита)]
• [Реквизит(ИмяРеквизита)] — если хотим напечатать значение какого-то реквизита документа.

Использование этой конструкции требует некоторую подготовку пользователя, потому что ИмяРеквизита — это точное имя реквизита объекта, которое определено в Конфигураторе.
Например, мы знаем, что у Организации, в ее карточке, обычно есть поле «Полное наименование». За это поле отвечает реквизит «НаименованиеПолное», вот он в Конфигураторе, в дереве метаданных, у справочника Организации:

Расширенная настройка Универсальной формы договора для 1С | tekdata.ru

Обращение к такому реквизиту в виде тэга будет следующим: [Организация.Реквизит(НаименованиеПолное)].

С этой конструкцией точно так же работает и вложенность:
• [Организация.ДопРеквизит(Имя доп. реквизита).Реквизит(ИмяРеквизита)]
• [Контрагент.Реквизит(ИмяРеквизита).КонткатнаяИнфо(Имя вида конт. информации)]
• [Контрагент.Реквизит(ИмяРеквизита).Реквизит(ИмяРеквизита)]
• [Контрагент.ДопРеквизит(Имя доп. реквизита).ДопРеквизит(Имя доп. реквизита).Реквизит(ИмяРеквизита)]
• [Реквизит(ИмяРеквизита).ДопРеквизит(Имя доп. реквизита).КонткатнаяИнфо(Имя вида конт. информации)]

В последнем случае сначала берем стандартный реквизит документа, потом доп. реквизит этого реквизита и в конце его контактную информацию.

Например, у нашего документа из которого мы осуществляем печать, есть стандартный реквизит «Договор» (договор контрагента). А для справочника Договоры мы добавили доп. реквизит «Адрес осуществления работ», тогда обратиться к нему мы можем: [Реквизит(Договор).ДопРеквизит(Адрес осуществления работ)].

Вообще говоря, с конструкцией Реквизит() мы можем обратиться почти к любому стандартному реквизиту нужного объекта. Вот например на картинке ниже приведены из Конфигуратора реквизиты документа «Заказ клиента». Ко всем ним мы и можем обращаться. А также к их собственным реквизитам, доп. реквизитам, контактной информации, если присутствует:

Расширенная настройка Универсальной формы договора для 1С | tekdata.ru