Как написать правило для автозаполнения шаблона

Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
1. slav_mcu 23.01.14 19:38 Сейчас в теме
в 1С:Документооборот 8 Корп (1-3-1-6) подскажите пожалуйста как написать выражение для автозаполнения шаблона. Есть вид внутреннего документа - "Протокол ( 3. Синхронный генератор)". Для этого вида документа через "Набор дополнительных свойств документов данного вида добавлен ДОПОЛНИТЕЛЬНЫЙ РЕКВИЗИТ - "Испытатель2", представляющий из себя справочник Пользователей (т.е. у него стоит тип значенияя - Пользователь).

Необходимо через правило автозаполнения в шаблоне сделать замену поля на поле "представлениеВДокументах" справочника пользователи.

Для обычного реквизита документа , например "Ответственный" выражение может выглядеть так:

Пользователь=Справочники.Пользователи.НайтиПоНаименованию(Файл.ВладелецФайла.Ссылка.Ответственный);
РезультатОбработки=Пользователь.ПредставлениеВДокументах;

А как это же сделать для дополнительного реквизита?

Вариант типа:
Пользователь=Справочники.Пользователи.НайтиПоНаименованию(ВладелецФайла.Ссылка.Ссылка.ДопРеквизиты.Протокол ( 3. Синхронный генератор).Испытатель2);
РезультатОбработки=Пользователь.ПредставлениеВДокументах;

приводит к ошибке.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ojleg 12 24.01.14 08:08 Сейчас в теме
Доброе утро!

Необходимо добавить в общий серверный модуль экспортную процедуру

Функция ПолучитьЗначениеДопРекв(Объект,Свойство) Экспорт;
   
    Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(Свойство) ;
   
    Если Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.ПустаяСсылка() Тогда
        Возврат "" ;
    КонецЕсли;
   
    Запрос = Новый Запрос;
   
    Запросы = "ВЫБРАТЬ
              |	ВнутренниеДокументыДополнительныеРеквизиты.Значение
              |ИЗ
              |	Справочник.ВнутренниеДокументы.ДополнительныеРеквизиты КАК ВнутренниеДокументыДополнительныеРеквизиты
              |ГДЕ
              |	ВнутренниеДокументыДополнительныеРеквизиты.Ссылка = &Объект
              |	И ВнутренниеДокументыДополнительныеРеквизиты.Свойство = &Свойство";
   
   
    Запрос.УстановитьПараметр("Объект", Объект);
    Запрос.УстановитьПараметр("Свойство", Свойство);
   
    Запрос.Текст = Запросы;
    РЗ = Запрос.Выполнить().Выгрузить();
                                                        
    Если НЕ РЗ.Количество() = 0 Тогда
        Возврат РЗ[0].Значение ;
    Иначе
        Возврат "" ;
    КонецЕсли;

КонецФункции
Показать


А в правиле автозаполнения шаблона написать:

РезультатОбработки = <ИмяМодуля>.ПолучитьЗначениеДопРекв(Файл.ВладелецФайла.Ссылка,"Испытатель2").ПредставлениеВДокументах
3. mymyka 24.01.14 09:22 Сейчас в теме
(2)Для этого как бэ есть готовая процедура
АвтозаполнениеШаблоновФайловСервер.ПолучитьЗначениеДопРеквизитаОбъекта(Объект, ИмяРеквизита)
valkovsky; Temir_S; slav_mcu; ojleg; +4 Ответить
4. slav_mcu 24.01.14 10:32 Сейчас в теме
Спасибо, вот такое выражение вполне сработало:

Пользователь=Справочники.Пользователи.НайтиПоНаименованию(АвтозаполнениеШаблоновФайловСервер.ПолучитьЗначениеДопРеквизитаОбъекта(Файл.ВладелецФайла.Ссылка,"Испытатель2"));
РезультатОбработки=Пользователь.ПредставлениеВДокументах;
valkovsky; Temir_S; +2 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот