Конвертация в ПДФ из 1С 7.7 через 1С 8.х

Инет пестрит вариантами конвертаций из 1С7.7 в PDF, но устраивающего варианта так и не нашел.
Сел, подумал и  написал свой конвертер на 1С 8.х

Собственно решение на поверхности:

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)1cv88.3.8.1652in1cv8.exe"" enterprise /f""E:1C_Base_v8КонверторПДФ"" /c"""+ПолноеИмя+"""");
КонецЕсли;
КонецЕсли;

Код для 1С 8.х (в Модуль Обычного Приложения):

Процедура ПриНачалеРаботыСистемы()

ИмяФайла = СокрЛП(ПараметрЗапуска);

ТекФайл = Новый Файл(ИмяФайла);
Если ТекФайл.Существует() Тогда

ИмяНовогоФайла = СтрЗаменить(ТекФайл.ПолноеИмя,".mxl",".pdf");
НовыйФайл  = Новый Файл(ИмяНовогоФайла);

ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ТекФайл.ПолноеИмя);
ТабДок.АвтоМасштаб = Истина;

ПереместитьФайл(ТекФайл.ПолноеИмя,ИмяНовогоФайла); //трём mxl
ТабДок.Записать(ИмяНовогоФайла,ТипФайлаТабличногоДокумента.PDF);

КонецЕсли;

ЗавершитьРаботуСистемы();


КонецПроцедуры

Всё!

5 Comments

  1. CheBurator

    осталось вместо любого бесплатного ПДФ принтера взять платную восьмерку…

    Reply
  2. transt

    (1) CheBurator, Сейчас почти все официальную бухгалтерию на 8ке ведут…

    Из-за горстки клиентов у которых 7ки остались приходится иногда голову греть.

    Reply
  3. transt

    На сейчас выяснены следующие неудобства: разделитель страниц игнорируется, т.е. в ПДФе получается всё слитно независимо от исходника

    Reply
  4. Ветер в поле
    Reply
  5. transt

    (4) Ветер в поле, подозреваю, что есть ещё вариантов 20 «приготовления подобного супа».

    Личное отношение к Йокселю: проект давно не поддерживается, пожелания про зернистость не исправили, авторов не найти, что там ещё может быть в этой «шкатулке» неизвестно, откуда скачать оригинальный Йоксель в данных реалиях — загадка.

    Данная статья просто идея таким же 1Сникам как я сам. Каков будет конечный «рецепт» — пусть решает каждый сам.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *