Куда вставить?

1. user1176313 18.02.20 11:21 Сейчас в теме
Всем здравствуйте. Нашел ту одну процедуру, которая пересохраняет word в pdf и добавляет в карточку документа. У меня он работает по нажатию кнопки в карточке документа, пробывал процедуру добавить в общий модуль и вызывать от туда но она не работает. Подскажите пожалуйста, как сделать перевод в pdf по кнопке "утверждено", типо автоматом что бы работало? Спасибо! я нуб если что.



Та самая процедура

&НаКлиенте
Процедура ЗамнитьНаПДФ(Команда)
	
	ТекущиеДанные = ПолучитьТекущиеДанные(Объект.Ссылка);
	
	Оболочка = Новый 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();

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

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

		РаботаСФайламиКлиент.ДобавитьИзФайловойСистемыСРасширениемСинхронно(ПараметрыВыполнения);
	КонецЕсли;
КонецПроцедуры
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Aitbay 18.02.20 11:36 Сейчас в теме
1. в свойствах общего модуля необходимо чтобы галка стояла на "Клиент (управляемое приложение)"
2. процедура должна быть экспортной "Процедура ЗамнитьНаПДФ(Команда) Экспорт"
Оставьте свое сообщение

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