1C:ДО 2.1. Преобразование в PDF после автозаполнения шаблона

1. naa1c 79 12.11.17 13:00 Сейчас в теме
Ситуация:
есть шаблон файла, в docx.
есть настройки автозаполнения для этого файла.

Возможно ли без доработки конфигурации в ДО 2.1 такое:
после автозаполнения шаблона данными документа автоматическая конвертация результата в PDF, и прикрепление к документу уже PDF-файла?
+
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. CyberBob 4 15.11.17 09:18 Сейчас в теме
Там ничего сложного, в расширении формы элемента внутреннего дока (или входящего или исходящего) добавляю кнопку, на неё такой код:
	Оболочка = Новый COMОбъект("WScript.Shell");
	КаталогДанныхПользователя = Оболочка.ExpandEnvironmentStrings("%APPDATA%");
	ПутьККаталогу = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(КаталогДанныхПользователя);
	ДанныеФайла = РаботаСФайламиВызовСервера.ДанныеФайлаДляОткрытия(ТекущиеДанные.Ссылка, 
		Неопределено, 
		ЭтаФорма.УникальныйИдентификатор, 
		Неопределено, 
		ПредыдущийАдресФайла);
	РаботаСФайламиКлиент.ПолучитьФайлВерсииВРабочийКаталог(
	Неопределено,
	ДанныеФайла,
	"",
	ЭтаФорма.УникальныйИдентификатор,
	Неопределено);
	ДанныеФайла = РаботаСФайламиВызовСервера.ДанныеФайлаДляОткрытия(ТекущиеДанные.Ссылка, 
		Неопределено, 
		ЭтаФорма.УникальныйИдентификатор, 
		Неопределено, 
		ПредыдущийАдресФайла);

	Если ДанныеФайла.Расширение = "doc" ИЛИ ДанныеФайла.Расширение = "docx" Тогда
			
		ИмяФайлаПДФ = ДанныеФайла.ПолноеНаименованиеВерсии + ".pdf";
		ИмяФайла = ДанныеФайла.ПолноеИмяФайлаВРабочемКаталоге;
		ФайлВФорматеПДФ = ПутьККаталогу+ИмяФайлаПДФ;
		MSWord = Новый COMОбъект("Word.Application");
		MSWord.Visible = Ложь;              
		MSWord.Documents.Open(ИмяФайла);
		ДокументВорд = MSWord.Application.Documents(1);
		ДокументВорд.Activate();
		ДокументВорд.SaveAs(ФайлВФорматеПДФ, 17);
		MSWord.Application.Quit();

             // добавляем получившийся файл в карточку документа

               ПараметрыВыполнения = Новый Структура;
		ПараметрыВыполнения.Вставить("ВладелецФайла",ДанныеФайла.Владелец);
		ПараметрыВыполнения.Вставить("ДобавлениеОригинала",Ложь);
		ПараметрыВыполнения.Вставить("ИдентификаторРодительскойФормы",Неопределено);
		ПараметрыВыполнения.Вставить("НеОткрыватьКарточкуПослеСозданияФайла",Истина);
		ПараметрыВыполнения.Вставить("ОбработчикРезультата",Неопределено);
		ПараметрыВыполнения.Вставить("ПараметрыОповещения",Неопределено);
		ПараметрыВыполнения.Вставить("СписокОповещений",Неопределено);
		ПараметрыВыполнения.Вставить("ПолноеИмяФайла",ФайлВФорматеПДФ);
		ПараметрыВыполнения.Вставить("ИмяСоздаваемогоФайла",Неопределено);
		ПараметрыВыполнения.Вставить("ФормаВладелец",ЭтаФорма);

		РаботаСФайламиКлиент.ДобавитьИзФайловойСистемыСРасширениемСинхронно(ПараметрыВыполнения);
Показать


Единственно, я что-то менял в стандартной функции добавления файла, но убей не помню чего и зачем и комментов что-то не сделал((.
eeeio; surem; Vladimir45; arabesca; +4
2. CyberBob 4 13.11.17 09:22 Сейчас в теме
Вот не знаю, можно ли считать это "без доработки" - я делал с помощью расширения конфигурации. Я, правда, кнопку сделал для конвертации. Сама конвертация примитивно, с помощью ворда, который невидимо открывает файл, сохраняет его в пдф и закрывается. Далее, чтобы добавить его в карточку документа, можно попробовать воспользоваться процедурами общего модуля "РаботаСФайламиКлиент".
+
3. ilya.rudziak 34 14.11.17 10:05 Сейчас в теме
(2) Иван здравствуйте. Можно как нибудь глянуть на ваше расширение? есть похожая задача и у меня
+
4. lev1nson 14.11.17 16:04 Сейчас в теме
6. CyberBob 4 15.11.17 09:20 Сейчас в теме
++Кнопку вставлял в группу команд группы файлы. Ну и на клиенте должен быть установлен msword, хотя ,в принципе, это может быть конвертер, который умеет работать с командной строкой.
+
Внимание! Тема сдана в архив

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