Автоматическое заполнение шаблонов из дополнительных реквизитов "1С:Документооборот 8".

19.05.14

Задачи пользователя - Адаптация типовых решений

Администратор создаёт новое поле в карточке документа в пользовательском режиме (дополнительный реквизит), пользователь 1С:Документооборот вводит данные в это поле, система должна автоматически подставить в шаблон документа введенные данные. Как подобраться к доп.реквизиту?

Возможности автозаполнения шаблонов можно посмотреть в поучительном ВИДЕО.

Там описаны основы для подготовки автозаполнения, которые будут использоваться в данной статье. Здесь же будут рассмотрены некоторые немаловажные моменты. 

Предупреждение: в описании статьи дан обзор минимального создаваемого набора, нужного для осуществления автозаполнения. Сделано это для того, чтобы почти ничего не умеющий человек смог быстро создать набор для тестирования автозаполнения. Тем, кто с этим всем уже знаком - советую просто пробежаться глазами и дойти до нужного момента.

1. Итак, для начала создадим новый Файл. Это будет файл формата MS Word. В редакторе MS Word создадим новое "поле", заполним поля, как на скриншоте.

//infostart.ru/upload/iblock/556/1.png

Загрузим файл в систему. Для этого переходим на вкладку "Документы и файлы", ссылка "Файлы". Создаём Файл в режиме "Из файла на диске". Выбираем нужный файл, делаем описание и вот, он загружен в систему. 

2. Создадим новый вид документа, для этого заходим в подсистему "Нормативно-справочная информация", нажимаем ссылку "Виды документов". Создаём новый вид документа, открываем "Набор дополнительных свойств документов данного вида". 

//infostart.ru/upload/iblock/28b/2.png

Создаём новый дополнительный реквизит. 

//infostart.ru/upload/iblock/07b/2.png

 

 //infostart.ru/upload/iblock/fab/1.png

Создаём новый Внутренний документ. Для этого переходим в подсистему "Документы и файлы", и там создаём новый документ. Ставим вид документа равным "ТестовыйВидДок", который был создан ранее. Также должен появиться созданный нами доп.реквизит.

//infostart.ru/upload/iblock/33c/8.png

Заполним значение доп.реквизита.

//infostart.ru/upload/iblock/af0/9.png

Записываем и закрываем внутренний документ.

Далее нужно создать правило автозаполнения. Для этого переходим в подсистему "Нормативно-справочная информация", открываем "Правила автозаполнения шаблонов файлов" и создаём новое правило.

//infostart.ru/upload/iblock/c0b/7.png

На скриншоте выше показан пример, когда "поле" в документе MS Word будет заполняться из стандартного реквизита. Т.е. наше поле в текстовом документе будет заменено на значение "ТестовыйВидДок", но нам нужно значение "16047", которое мы прописали в поле карточки внутреннего документа, в дополнительном реквизите. Для этого необходимо написать определенный код, ради которого и писалась эта статья. Пример:

 //infostart.ru/upload/iblock/d8f/11.png

РезультатОбработки = АвтозаполнениеШаблоновФайловСервер.ПолучитьЗначениеДопРеквизитаОбъекта(Файл.ВладелецФайла.Ссылка,"ТестовыйДопРеквизит")

Внимание: для быстрого тестирования на форме имеется кнопка "Проверить правило", нажимая на которую можно выбрать нужный документ, и посмотреть, каким образом будет заполняться шаблон файла данными из этого документа.

Для указания другого доп.реквизита необходимо в данной строчке просто поменять значение "ТестовыйДопРеквизит" на другое название другого доп.реквизита.

Помимо данного кода в данном поле можно использовать различные вариации другого кода, например:

  • РезультатОбработки = АвтозаполнениеШаблоновФайловСервер.ПолучитьЗначениеДопРеквизитаОбъекта(Файл.ВладелецФайла.Ссылка,"Страна, город") + " " + АвтозаполнениеШаблоновФайловСервер.ПолучитьЗначениеДопРеквизитаОбъекта(Файл.ВладелецФайла.Ссылка,"Организация")

т.е. можно соединять несколько доп.реквизитов в одну строку, например.

  •  РезультатОбработки = (НачалоДня(Файл.ВладелецФайла.ДатаОкончанияДействия) - НачалоДня(Файл.ВладелецФайла.ДатаНачалаДействия)) / 86400 + 1;
в данном случае реально брать данные из простых реквизитов на форме и преобразовывать их.
  • ФИО = ПолучитьЗначениеДопРеквизитаОбъекта(Файл.ВладелецФайла.Ссылка,"Утвердил");
  • НайденныйПользователь = Справочники.Пользователи.НайтиПоНаименованию(ФИО);
  • СведенияПользователя = РегистрыСведений.СведенияОПользователях.Получить(Новый Структура("Пользователь", НайденныйПользователь));
  • РезультатОбработки = СведенияПользователя.Должность;
ну или так.

Вывод: автозаполнение - штука весьма полезная, и, как видно, можно получить практически любые данные с помощью практически любых методов.

3. Ещё один момент, кому-нибудь когда-нибудь пригодится. Допустим, необходимо на каждой странице шаблона в колонтитуле выводить некую информацию (неважно, откуда она берется - из дополнительного или же из обычного реквизита). Пример следующий: нужно на каждой странице автоматически выводить дату и пользователя, ну или что-то одно. В MS Word в колонтитулах можно написать некую строку, однако преобразовать её к "полю" нельзя (оно неактивно, видно на скриншоте). 

//infostart.ru/upload/iblock/da4/%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80.JPG

Поэтому в данном случае правильно использовать замену строки. Выбираем какую-нибудь неповторимую строку (чтобы случайно не заменить нужную строку в самом документе), например "П12@3a" и вставляем её в колонтитул шаблона документа.

А дальше - кто-то уже догадался. Я сразу не заметил, всё пытался как-нибудь "докопаться" до этого "поля" в MS Word. Итак, делаем, как на скриншоте:

 //infostart.ru/upload/iblock/0f9/12.png

Спасибо тем, кто прочитал даже до этого момента, первая статья, не судите строго, сам всё знаю =)

автозаполнение шаблон документооборот

См. также

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    4426    17    1    

35

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    6317    15    5    

24

Печатные формы Адаптация типовых решений Бухгалтер Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с установленными именами. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

3000 руб.

07.02.2023    7006    75    17    

31

Адаптация типовых решений Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Каждый из нас сталкивается с ситуацией, когда какой-нибудь менеджер показывает свой Excel и рассказывает, как он что-то из 1С копирует в него, снабжает пояснениями, выделяет цветом и т.д. и т.п. Заканчивается все просьбой сделать вот чтобы также было в 1С. И оказывается такой человек (почти с гарантией) либо лучшим продажником, либо каким-то важным, за все отвечающим, - на ком все держится.

2 стартмани

22.04.2024    5419    dimanich70    15    

22

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    7838    dimanich70    10    

20

Адаптация типовых решений Программист Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

Доработка типового отчета "Связанные документы" позволяет просто и быстро расширять состав объектов для построения структуры подчиненности документов, используя объекты основной конфигурации и любых расширений.

1 стартмани

27.10.2023    3845    30    TempTablesManager    14    

54

Пакетная печать Печатные формы Адаптация типовых решений Универсальные функции Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Абонемент ($m)

Расширение для программ 1С:Управление торговлей, 1С:Комплексная автоматизация, 1С:ERP, которое позволяет распечатывать печатные формы для непроведенных документов. Можно настроить, каким пользователям, какие конкретные формы документов разрешено печатать без проведения документа.

2 стартмани

22.08.2023    3817    60    progmaster    9    

4
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. karapuzzzz 63 21.05.14 03:23 Сейчас в теме
А зачем так извращаться? Выбираете замену "На значение реквизита" и в дереве выбираете "ВладелецФайла - ДопРеквизиты - ВашРеквизит".
relanium86; Alina2603; +2 Ответить
2. Stalker27 37 21.05.14 08:35 Сейчас в теме
(1) karapuzzzz,

Документооборот 8 КОРП, редакция 1.3 (1.3.2.4). 1С:Предприятие 8.3 (8.3.4.437)
У меня такого нет. И, как я понимаю, не только у меня этого нет. Откуда у Вас, даже не знаю =)
3. uri1978 138 21.05.14 11:56 Сейчас в теме
(2) Stalker27,
На самом деле у всех такое есть. У меня тоже Корп 1.3.
Если нужно просто без обработкки вывести значение дополнительного реквизита, то пользуюсь как и karapuzzzz.
А если нужно дополнительный реквизит обработать (например отсрочку платежа (число) написать прописью), то тогда конечно программно, тот метод который вы указали.

Статья я лично считаю интересной и полезной. Пишите еще.

P.S. Без придирок, просто на всякий. Процедура ПолучитьЗначениеДопРеквизитаОбъекта видна из контектса обработки, т.е. название модуля АвтозаполнениеШаблоновФайловСервер можно не писать. Немного разгружает текст обработки, особенно если обработка большая.
gigansk; Stalker27; +2 Ответить
4. Stalker27 37 21.05.14 13:00 Сейчас в теме
(3) uri1978,

Действительно есть (нашёл-таки), только у меня не в "и в дереве выбираете "ВладелецФайла - ДопРеквизиты - ВашРеквизит"" а в ветке "ВладелецФайла - Ссылка - ДопРеквизиты". И ведь в строчке кода было понятно, что именно там находятся ДопРеквизиты...
Проверил, действительно можно писать без указания названия общего модуля. Правда полезно, зачем много кода-то писать =) Полезное замечание =)
Спасибо, приятно! Если найдутся интересные темы, обязательно напишу! А эту статейку стоит отредактировать...

(1) karapuzzzz,
Да, действительно, не заметил, что можно выцепить ДопРеквизит проще. Но, как уже написал uri1978: "А если нужно дополнительный реквизит обработать (например отсрочку платежа (число) написать прописью), то тогда конечно программно".
5. SvetLanaGil 15.09.14 11:37 Сейчас в теме
Действительно Доп.реквизиты "переехали в ссылку лишь с недавнего времени. После обновления при создании новых автозаполняемых шаблонов была неприятно удивлена отсутствием на привычном месте Доп. реквизитов... после непродолжительных изысканий нашла их в новом месте: ВладелецФайла.Ссылка.ДопРеквизиты.
А вообще очень интересная и полезная статья. Большое спасибо. При внедрении Документооборота на предприятии похожей информации было минимум, приходилось самостоятельно разбираться. Но и сейчас из вашей статьи кое - что почерпнула полезное, например работа с колонтитулами. Еще раз спасибо за статью.
6. Stalker27 37 15.09.14 09:47 Сейчас в теме
(5) SvetLanaGil,
Приятно, что что-то из статьи пригодилось =)
Вам спасибо большое, подняли настроение!!! ;)
7. sikvel2012 96 29.10.14 22:53 Сейчас в теме
у меня вообще с с ним одни проблемы

поля из файлов odt он не заполняет хоть тресни, не находит их просто для выбора

строки для docx тоже не заменяет, пишет что нет такой комбинации

никто не сталкивался? как это побороть?
8. Stalker27 37 30.10.14 09:05 Сейчас в теме
(7) reznic, поля в odt не поддерживаются. Если "текст по умолчанию" в поле был указан, то поле просто преобразуется в этот текст. Если нет - то просто исчезает (превращается в пустое поле). Однако строки, по крайней мере у меня, он заменяет. Посмотрите внимательно файл, возможно там правда отсутствуют Ваши строки. Вот, например, у меня что выскакивает в случае отсутствия строк:

{Справочник.ПравилаАвтозаполненияФайлов.Форма.ФормаЭлемента.Форма(262)}: Следующие строки отсутствуют в шаблоне:
&Ответственныййй
ВызватьИсключение ОписаниеОшибкиСтроки;

То есть я ввёл, чтобы он заменял эту строку "&Ответственныййй" (у меня в документе есть строка "&Ответственный") на Ответственного, указанного в карточке документа. Однако такой строки у меня нет, ну он её не находит и пишет такую вот ошибку.

А так заменяются строки и в odt и в docx. Можно использовать данный метод замены.
Проверьте, может у Вас другая ошибка, скрины если есть, пришлите.
19. sikvel2012 96 22.11.14 22:00 Сейчас в теме
(8) Stalker27, кстати поля в одт поддерживают, на днях попробую себя в написании обзора
9. sikvel2012 96 30.10.14 22:43 Сейчас в теме
с опен офисом спасибо, не знал, и негде несказано

а ворд на замену вот что выдает (см скриншот)
Прикрепленные файлы:
10. Stalker27 37 31.10.14 08:48 Сейчас в теме
(9) reznic,

Это точно поле, а не простой текст?
Если это поле, то файл точно сохранён? Надо смотреть, так точно не скажу даже :)

На скрине правильное заполнение поля, ну примерное по крайней мере =)
Прикрепленные файлы:
34. tmixsam 56 16.03.20 08:33 Сейчас в теме
на 26 ответ

Вывожу в MS Word одно текстовое поле ТабСогласования
в шаблоне файла надо на верхней линейке проставить отметки для табуляции
закладка Вид, галочка Линейка, в верхней линейке ткнуть мышкой, где заканчивается колонка
должность и где заканчивается колонка дата и начинается ФИО

поле ТабСогласования в настройках шаблона в документообороте заполняю так:
получается вручную распределяем по колонкам с помощью символа таб
вручную переносим должность и ФИО на несколько строк если не вмещаются в колонку.

Может кому-нибудь это поможет

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

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

	Запрос.УстановитьПараметр("ДокумСсылка", Файл.ВладелецФайла.Ссылка);

	Результат = Запрос.Выполнить();
    Добавка = "";
    Отбор = Новый Структура("Согласователь");
 
	Если Результат.Пустой() = Ложь Тогда
        ТабРезультат = Результат.Выгрузить();

        Сч = ТабРезультат.Количество();
        Пока Сч > 0 Цикл
             Сч = Сч - 1;
             СтрРез = ТабРезультат.Получить(Сч);
			 Если СокрЛП(СтрРез.ТочкаМаршрута) = "Согласовать" Тогда
			 	Отбор.Согласователь = СтрРез.Согласователь;
             	масСтр = ТабРезультат.НайтиСтроки(Отбор);
             	Если масСтр.Количество()>1 Тогда
                     Для Каждого Стр Из масСтр Цикл
                            Если Стр <> СтрРез Тогда
                                   ТабРезультат.Удалить(Стр);
                                   Сч = Сч - 1;
                            КонецЕсли;
                     КонецЦикла;
				 КонецЕсли;
			 Иначе //Задача Ознакомление
                 ТабРезультат.Удалить(СтрРез);
			 КонецЕсли;
        КонецЦикла;

        Для Каждого Выборка Из ТабРезультат Цикл
				ФИО = СокрЛП(Выборка.Согласователь.ПредставлениеВДокументах);
				ФИО2 = "";
				Должн = СокрЛП(Выборка.Должность);
				Должн2 = "";
				Если СтрДлина(ФИО)>29 Тогда
					ПробелНом = СтрНайти(ФИО," ");
					ФИО2 = Сред(ФИО,ПробелНом+1);
					ФИО = Лев(ФИО,ПробелНом);
				КонецЕсли;
				Если СтрДлина(Должн)>29 Тогда
					ПробелНом = СтрНайти(Должн," ");
					Должн2 = Сред(Должн,ПробелНом+1);
					Должн = Лев(Должн,ПробелНом);
					ПробелНом = СтрНайти(Должн2," ");
					Пока (ПробелНом > 0) И ((СтрДлина(Должн)+ПробелНом)<29) Цикл
						Должн = Должн + Лев(Должн2,ПробелНом);
						Должн2 = Сред(Должн2,ПробелНом+1);
						ПробелНом = СтрНайти(Должн2," ");
					КонецЦикла;
				КонецЕсли;
				РезультатОбработки = РезультатОбработки+Добавка+ Должн + Символ(9)+СокрЛП(Выборка.Результат) +Символ(9);
				РезультатОбработки = РезультатОбработки+Формат(Выборка.Дата,"ДЛФ=D")+Символ(9)+ ФИО;
                Добавка = Символ(13)+Символ(13);
				Пока (СтрДлина(ФИО2)>0) ИЛИ (СтрДлина(Должн2)>0) Цикл
					ФИО = ФИО2;
					ФИО2 = "";
					Должн = Должн2;
					Должн2 = "";
					Если СтрДлина(ФИО)>29 Тогда
						ПробелНом = СтрНайти(ФИО," ");
						ФИО2 = Сред(ФИО,ПробелНом+1);
						ФИО = Лев(ФИО,ПробелНом);
					КонецЕсли;
					Если СтрДлина(Должн)>29 Тогда
						ПробелНом = СтрНайти(Должн," ");
						Должн2 = Сред(Должн,ПробелНом+1);
						Должн = Лев(Должн,ПробелНом);
						ПробелНом = СтрНайти(Должн2," ");
						Пока (ПробелНом > 0) И ((СтрДлина(Должн)+ПробелНом)<29)Цикл
							Должн = Должн + Лев(Должн2,ПробелНом);
							Должн2 = Сред(Должн2,ПробелНом+1);
							ПробелНом = СтрНайти(Должн2," ");
						КонецЦикла;
					КонецЕсли;
					РезультатОбработки = РезультатОбработки+Символ(13)+Должн+Символ(9)+Символ(9)+Символ(9)+ФИО;
				КонецЦикла;
		КонецЦикла;
	КонецЕсли;
Исключение
КонецПопытки;

РезультатОбработки = ?(РезультатОбработки="","     ",РезультатОбработки);
Показать
a_kaiman; +1 Ответить
11. sikvel2012 96 31.10.14 09:09 Сейчас в теме
нет, это не поле, так собственно и проблема в том что поля он видит в ворде, причем может видеть даже те которых я не делал, но это проблема ворда уже, а вот в данном случае я пытался заменить сроку в файле а не поле, см скриншот
Прикрепленные файлы:
12. sikvel2012 96 31.10.14 09:15 Сейчас в теме
сейчас попробовал, в либро офисе поля заменяет
13. Stalker27 37 31.10.14 12:00 Сейчас в теме
(12) reznic,
Ну в ворде какой-то глюк значит =)
14. sikvel2012 96 04.11.14 16:35 Сейчас в теме
именно он и глючил гад

а в чем может быть проблема, не выводит {ВладелецФайла|УдалитьПредметПереписки|Ссылка} и не работает Объект = Файл.ВладелецФайла.УдалитьПредметПереписки;
15. sikvel2012 96 04.11.14 18:31 Сейчас в теме
а ни куму не доводилось выводить изображение в шаблон прикрепленное через доп реквизит?
16. karapuzzzz 63 05.11.14 01:45 Сейчас в теме
(15) reznic, Без доработок не выведет. Там стоит проверка на тип вставляемых данных. И это должен быть только текст.
sikvel2012; +1 Ответить
17. sikvel2012 96 05.11.14 09:55 Сейчас в теме
(16) karapuzzzz, спасибо за пояснения, а каким способом можно тогда добиться создания универсального фирменного бланка, чтоб не плодить их для каждой организации, все уперлось только в логотип
18. karapuzzzz 63 05.11.14 15:35 Сейчас в теме
(17) reznic, только дорабатывать. Я уже точно не помню как. Нет доступа к тем разработкам. Но реализовывал вставку таблицы, картинки, содержимого из другого документа. Может, со временем смогу это сделать в виде статьи.
20. KRIHA 114 18.02.15 10:09 Сейчас в теме
Люди, извините что не в тему - помогите ответом на вопрос: можно ли в 1С:Документооборот в качестве исполнителя выбрать группу (или роль, или еще что) таким образом, что задача на исполнение приходит всем пользователям группы, но кто первый "схватил" и согласовал тот и собственно и завершает процесс согласования. Может быть я коряво написал - заранее приношу за это извинения.
21. uri1978 138 19.02.15 17:26 Сейчас в теме
(20) KRIHA,
Да такое можно. Создаете роли, относите пользователей эти ролям. Назначаете роли в шаблонах согласований. Задачи будут приходить всем пользователям группы. Кто первый взялся за задачу должен её взять себе (клавиша "Принять к исполнению"). В документации есть.
22. Iscarimet 05.03.15 14:18 Сейчас в теме
Есть такой вопрос:
Шаблон файла заполняется в том числе и значениями из допреквизитов документа. Есть допреквизит в виде составного типа данных (Корреспондент и Подразделение).
Как заполнять в зависимости от типа значения этого допреквизита поле в шаблоне адресом указанного корреспондента или адресом подразделения (допустим этот адрес записан в комментарии к подразделению)?

То есть в итоге поле должно заполняться адресом корреспондента, если в допреквизите выбран тип значения "Корреспондент", и наоборот, должно заполняться комментарием подразделения, если в допреквизите выбран тип значения "Подразделение".

Конкретная проблема в обращении к типу допреквизита.
23. sikvel2012 96 05.03.15 21:22 Сейчас в теме
только через произвольный алгоритм на встроенном языке

я включил возможность изменения, создал общий модуль и все свои функции и процедуры заполнения помещаю в него
24. placent 11 25.08.15 11:59 Сейчас в теме
Кто нить сталкивался с такой проблемой ?
Релиз Документооборот 8 КОРП, редакция 2.0 (2.0.8.7).
Пользователь создал Внутренний документ. Заполнил организацию и тд. Заполнил Wordовский файл шаблона. Сохранил внутренний документ.
А потом меняет реквизит внутреннего документа (к примеру сумму). И вот тут нужно снова в ручную пере заполнить файл шаблона, чтобы сумма обновилась. Как бы автоматизировать пере заполнение шаблона ?

Для реализации создал Доп обработку. В котором запрос с отбором файла и команда
ДанныеВыполнения = АвтозаполнениеШаблоновФайловКлиентСервер.ЗаполнитьПоляФайлаДаннымиВладельца(Истина, Выборка.Ссылка, Истина);
Далее прикрепил эту доп обработку к Подпискам на бизнес событие. Изменение внутреннего документа.
После этих настроек. При записи внутреннего события, в справочнике Произошедшие бизнес события появляется новая запись.

Теперь запускается фоновое задание "Обработка произошедших бизнес-событий". Которое пытается обработать "Произошедшие бизнес события" и ставит там число попыток обработки 3. А признак выполнен не ставит.

По результату файл шаблона не обновлен.
25. clev 7 29.09.15 00:28 Сейчас в теме
(24) placent, Вам удалось решить эту проблему?
28. yoshitoshi 12.08.17 04:21 Сейчас в теме
(25)
На дворе середина 2017 года, а эта проблема до сих пор имеет место быть.
Сотрудники не понимают, что это такое и зачем это делать.

Они же изменили значение в полях в форме документа.
Почему еще нужно делать какие-то непонятные действия?

Похоже, компании 1С глубоко наплевать на косяки собственного интерфейса, и на пользователей, которые должны заучивать последовательность непонятных им действий, а не делать все интуитивно.
kiksi261622; Kamali; +2 Ответить
26. tat10 30.11.15 09:23 Сейчас в теме
Добрый день!
Может кто-нибудь сталкивался с такими проблемами:
1. Есть шаблон приказа. Там есть согласующие подписи. Как их вставить в ворд для автозаполнения? Никак не могу настроить правила автозаполнения шаблонов. Т.е. нужно вывести несколько строк согласующих подписей: должность и ФИО ..
2. Как в правилах автозаполнения шаблонов выбрать адрес контрагента, телефон и другую информацию?
27. msotools 08.05.17 11:57 Сейчас в теме
Может кто делал заполнение шаблонов через docwebservice ? Насколько это удобно?
29. yoshitoshi 12.08.17 04:33 Сейчас в теме
ВАЖНОЕ ЗАМЕЧАНИЕ:

У меня версия ДО КОРП 2.1.10.2 - и в ней уже нет описанного функционала "замена строки".
Так же, в меню "Нормативно-справочная информация" нет пункта "Правила автозаполнения шаблонов файлов".

Зато, есть "Настройка заполнения файла" в карточке шаблона документа, где в качестве значения поля из шаблона можно выбрать реквизит или написать скрипт. Замены произвольного текста в шаблоне на значение реквизита или на результат скрипта там нет.
Прикрепленные файлы:
30. Coole 11.03.19 08:05 Сейчас в теме
как вы заполняете шаблоны ? у меня элементарное - ДатаДокумента не заполняется
31. soulner 468 22.03.19 15:50 Сейчас в теме
(30) Для пробы могу предложить Вам следующий алгоритм:
1. добавить пустой файл MS Word во вкладку "Файлы" шаблона любого вида документа;
2. нажать "Открыть" в настройках заполнения;
3. выбрать галочками несколько реквизитов;
4. после нажатия "Готово" программа проверит в файле шаблона наличие необходимых полей формы и создаст их, т.к. файл пустой;
5. можно посмотреть, что получилось путём нажатия на кнопку "Проверить настройки заполнения".
Этот механизм хорошо работает в ДО версии 2 и выше, рекомендую добавлять поля в шаблон из настроек заполнения, а не руками. 1С знает какие поля добавлять. Появляются они слева вверху документа, но их можно переместить в текст куда надо.
32. TigerS74 26.04.19 09:49 Сейчас в теме
А как в Excel так же вставить хотя бы Регистрационный номер из 1C Документооборот?
33. sergathome 4 26.04.19 10:21 Сейчас в теме
(32) ДО не поддерживает шаблоны на основе Экселя.

зы Публикация безнадёжно устарела.
35. otvertka1986 20.01.21 16:22 Сейчас в теме
(34) Здравствуйте.

А Вас не затруднит поделиться таким размеченным и подготовленным файлом MS WORD, а то у меня что-то не получается его подготовить...

Заранее благодарен.
36. a_kaiman 22.03.21 10:50 Сейчас в теме
(34) Спасибо большое! Очень помог ваш пример! При этом удалось сформировать таблицу по примеру
Подскажите пожалуйста, как добавить в запрос еще одно поле "Комментарий" участников согласования.
В запросах я совсем не силен.
Прикрепленные файлы:
Оставьте свое сообщение