Собственно решение на поверхности:
1. Сохраняем табллицу 1С 7.7 в mxl
2. При помощи 1C 8.х конвертируем mxl в pdf (вызов через командную строку)
код для 1С 7.7 (взято из рабочей внешней формы):
Если Вопрос("Конвертировать в ПДФ для отправки по email?","Да+Нет")="Да" Тогда
ТекИмя = ВосстановитьЗначение("ИмяФайлаСчетаДляEmail");
Если СокрЛП(ТекИмя) = "" Тогда
ТекИмя = "Счет.pdf";
КонецЕсли;
ТекКаталог = ВосстановитьЗначение("КаталогФайловДляEmail");
Если ФС.ВыбратьФайл(1,ТекИмя,ТекКаталог,"Укажите имя файла для email","PDF (*.pdf) |*.pdf","pdf")=1 Тогда
СохранитьЗначение("ИмяФайлаСчетаДляEmail",ТекИмя);
СохранитьЗначение("КаталогФайловДляEmail",ТекКаталог);
ПолноеИмя = ""+ТекКаталог+"\"+СтрЗаменить(ТекИмя,".pdf",".mxl");
ИсхТабл.Записать(ПолноеИмя);
ЗапуститьПриложение("""C:\Program Files (x86)\1cv8\8.3.8.1652\bin\1cv8.exe"" enterprise /f""E:\1C_Base_v8\КонверторПДФ"" /c"""+ПолноеИмя+"""");
КонецЕсли;
КонецЕсли;
Код для 1С 8.х (в Модуль Обычного Приложения):
Процедура ПриНачалеРаботыСистемы()
ИмяФайла = СокрЛП(ПараметрЗапуска);
ТекФайл = Новый Файл(ИмяФайла);
Если ТекФайл.Существует() Тогда
ИмяНовогоФайла = СтрЗаменить(ТекФайл.ПолноеИмя,".mxl",".pdf");
НовыйФайл = Новый Файл(ИмяНовогоФайла);
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ТекФайл.ПолноеИмя);
ТабДок.АвтоМасштаб = Истина;
ПереместитьФайл(ТекФайл.ПолноеИмя,ИмяНовогоФайла); //трём mxl
ТабДок.Записать(ИмяНовогоФайла,ТипФайлаТабличногоДокумента.PDF);
КонецЕсли;
ЗавершитьРаботуСистемы();
КонецПроцедуры
Всё!
Вступайте в нашу телеграмм-группу Инфостарт
