Поделюсь (точнее пишу для себя, чтобы не потерять) теми скриптами автозаполнения шаблонов файлов 1С: Документооборот 3.0 которые использовал на этапе первичной настройки. Возможно кому‑то и пригодиться кроме меня. Список будет в дальнейшем пополняться.

Поле файла "ДолжностьАдресата"

  1. Выводим должность адресата документа

РезультатОбработки = "";

Сотрудник = Файл.ВладелецФайла.Адресат;
Если ЗначениеЗаполнено(Сотрудник) Тогда

РезультатОбработки = СклонениеПредставленийОбъектов.ПросклонятьПредставление(
Строка(Сотрудник.Должность), 3);

КонецЕсли;

Поле файла "Содержание"

При работе Документооборота 3.0 и Word есть особенность, знак новой строки превращается в перенос строки и из-за этого весь текст содержания документа (когда его много) выглядит плохо...

  1. данный скрипт приводит в читаемы вид текст

    Документ = Файл.ВладелецФайла;
    РезультатОбработки = СтрЗаменить(ОбщегоНазначенияДокументооборотВызовСервера.ЗначениеРеквизитаОбъекта(Документ, "Содержание"), Символы.ПС, Символы.Таб + Символы.ПС + Символы.Таб);

    3. Поле файла "ФИО Адресата"

    Вытаскиваем ФИО Адресата документа отдельно от должности.

РезультатОбработки = "";

Сотрудник = Файл.ВладелецФайла.Адресат;
Если ЗначениеЗаполнено(Сотрудник) Тогда

РезультатОбработки = СклонениеПредставленийОбъектов.ПросклонятьПредставление(
Строка(Сотрудник.ПредставлениеВДокументах), 3);

КонецЕсли;
  1. Поле файла "Должность руководителя выбранной организации" (актуально когда в одной базе учет по нескольким организациям и если в организации один и тот человек занимает разные должность, например "Директор" в одной, а в другой "Генеральный директор"

РезультатОбработки = "";

Организация = Файл.ВладелецФайла.Организация;
Если ЗначениеЗаполнено(Организация) Тогда

Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ОтветственныеЛицаОрганизацийСрезПоследних.Сотрудник.Должность КАК СотрудникДолжность
		|ИЗ
		|	РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних(
		|			,
		|			Организация = &Организация
		|				И ОтветственноеЛицо =  ЗНАЧЕНИЕ(Перечисление.ОтветственныеЛицаОрганизаций.РуководительОрганизации)) КАК ОтветственныеЛицаОрганизацийСрезПоследних";
	
	Запрос.УстановитьПараметр("Организация", Организация);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
		РезультатОбработки = ВыборкаДетальныеЗаписи.СотрудникДолжность;

	КонецЕсли;


КонецЕсли;
  1. Поле файла "Подготовил"

    Актуально когда нужно инициалы и фамилию подготовившего документ вставить вниз документа мелким шрифтом

РезультатОбработки = "";

Сотрудник = Файл.ВладелецФайла.Подготовил;
Если ЗначениеЗаполнено(Сотрудник) Тогда

РезультатОбработки = СклонениеПредставленийОбъектов.ПросклонятьПредставление(
Строка(Сотрудник.ПредставлениеВДокументах), 1);

КонецЕсли;

Комментарии (0)