Всем привет! Собственно весь вопрос в сабже, у кого то был опыт? судя по инфе из MSDN и других форумов нужно всего лишь у объекта
документWord
вызвать метод
SaveAs("D:\1C\test12312.PDF",17);
где второй параметр обозначает вид формата, 17 означает PDF, но этот метод у меня работает только с одним параметром (путь к файлу), со вторым параметром все вываливается в ошибку:
Ошибка при вызове метода контекста (SaveAs): Произошла исключительная ситуация (Microsoft Word): Ошибка команды
Может кто то сталкивался с такой проблемой.
на всякий приведу пример кода:
// Запускаем приложение и открываем файл
Попытка
MSWord = Новый COMОбъект("Word.Application");
Исключение
Сообщить("Ошибка при попытке создать объект ""MS Word""!" + Символы.ПС +
"Возможно приложение ""MS Word"" не установлено или установлено неправильно.", СтатусСообщения.Внимание);
Возврат;
КонецПопытки;
ФайлWord = ВнешняяФормаWord.ХранилищеВнешнейОбработки.Получить();
UID = Новый УникальныйИдентификатор;
ФайлWord.Записать(КаталогВременныхФайлов()+UID+".doc");
Попытка
WordДокумент = MSWord.Documents.Open(КаталогВременныхФайлов()+UID+".doc",, -1);
Исключение
Сообщить("Ошибка при попытке открыть файл (" + СокрЛП(КаталогВременныхФайлов()+UID+".doc") + ")!" + Символы.ПС +
"Возможно имя файла указано не верно или указан файл другого формата.", СтатусСообщения.Внимание);
Возврат;
КонецПопытки;
RngWord = MSWord.ActiveDocument.Range();
RngWordCol = MSWord.ActiveDocument.Sections(1).Footers(1).Range();
RngWordHeadCol = MSWord.ActiveDocument.Sections(1).Headers(1).Range();
ActiveDoc = MSWord.ActiveDocument;
Замена = RngWord.Find;
Замена.ClearFormatting();
Замена.Forward = Истина;
ЗаменаКол = RngWordCol.Find;
ЗаменаКол.ClearFormatting();
ЗаменаКол.Forward = Истина;
ЗаменаВерхКол = RngWordHeadCol.Find;
ЗаменаВерхКол.ClearFormatting();
ЗаменаВерхКол.Forward = Истина;
Если Замена.Execute("{Дата}",,,,,,,,,"{Дата}", 2) Тогда
Замена.Execute("{Дата}",,,,,,,,,СокрЛП(Формат(ДокументОбъект.Дата,"ДЛФ=DD")), 2);
КонецЕсли;
//Вот тут проблема
WordДокумент.SaveAs("D:\1C\test12312.PDF",17);
Проверьте, есть ли путь "D:\1C\" на сервере предприятия (то есть там, где запускается СОМ-объект) и есть ли у пользователей, из-под которого запущен сервер 1С предприятия и СОМ-объект права на этот каталог.
Вообще СОМ-объект это архаичная тоска. Предлагаю Вам использовать встроенные методы платформы, например прямое сохранение табличного документа в документ формата PDF.
Может кому поможет костыль, так работает сохранение docx в pdf (необходимо скопировать файл во второй временный и уже его открывать и сохранять в pdf) Office 2013, 365:
(16) Вызов на сервере. Платформа 8.3.13, возможно это ошибка и ее уже исправили, либо в системном профиле что-то блокировалось. В тестовой среде разработки без костылей все работало.