Йоксель » Главный форум

добавить картинку в конец табличногодокумента или...

(7 posts)
  1. Добрый день!
    Огромное спасибо Вам за модуль! очень полезный!!!

    Возник вопрос.
    Задача: отправить документ на печать, и создать графический фаил в папке, но уже с печатью и росписью.
    Раньше девочка печатала, потом ставила печать и после этого сканировала и кидала картинку в папку.

    Из задачи следует, что перед конвертации в картинку нужно заменить нижнюю часть документа.

    Как это оптимально сделать? создавать два документа и вести параллельно добавления в теле модуля - не интересно.

    Хочется взять уже готовый документ и заменить нижнюю часть.

    Подскажите пожалуйста как это сделать!
    Может есть метод добавление в конец табличного документа картинки?
    Заранее большое спасибо!

    Отправлено 17 года(лет) назад #
  2. Обычно берут макет печатной формы и внедряют в него отсканированное изображение печати и подписей. Тогда сразу при формировании печатной формы из 1С получается документ с печатями. Этот документ конвертируем в изображение и сразу получаем нужный результат.

    Отправлено 17 года(лет) назад #
  3. я так и сделал изначально, но возникла проблема.
    как из "таблицы" удалить последние 5 строк, чтобы вставить другую секцию?
    вести две таблицы и заполнять их паралельно нехочется!

    хочу сделать процедуру, в неё передать таблицу после вывода на экран и на принтер печатной формы. и уже в процедуре править концовку.

    в идеале процедуру в глобальник бы запихнуть, но там возникает вопрос добавление заготовленной секции!

    Отправлено 17 года(лет) назад #
  4. Поправить конец произвольного документа можно, например, так.
    1) Перекачать табличный документ в табличный документ Йокселя. ("ЗагрузитьИзТаблицы" или через временный файл).
    2) Йокселем удалить несколько последних строк, если нужно.
    3) Полученный документ перекачать в объект 1С.
    4) Для этого объекта выполнить метод "ИсходнаяТаблица", где в параметрах указать макет, где есть секция с печатью и подписью.
    5) Вывести эту секцию в документ.
    6) Перекачать полученный документ в Йоксель и сохранить в графический файл.

    Йоксель здесь задействуется только для промежуточного удаления ненужных строк.

    PS. Если я все правильно понял :)

    Отправлено 17 года(лет) назад #
  5. Олег, спасибо большое!

    щас попробую! из написанных пунктов пока смущает номер три...
    остальное понятно :)

    Отправлено 17 года(лет) назад #
  6. из написанных пунктов пока смущает номер три...

    Через временный файл :)

    Отправлено 17 года(лет) назад #
  7. Олег! Ещё раз спасибо огромное за компоненту.
    И отдельное спасибо за подробное описание решения проблемы :-)
    Всё получилось! Ура :-)
    Жаль только через временный файл, но как я понимаю по другому нельзя.

    Вот примерный код, малоли кому пригодиться.

    Процедура ВыгрузкаВФаил(таб, делстрок)
    ТабИмидж = СоздатьОбъект("ТабличныйДокумент");
    ТабИмидж.ЗагрузитьИзТаблицы(Таб);
    ТабИмидж.удалитьстроки(делстрок+5,таб.ВысотаТаблицы()-делстрок);
    ТабИмидж.записать("c:\temp\tabltemp.1c",0);
    Таб2 = СоздатьОбъект("Таблица");
    Таб2.ИсходнаяТаблица("Счет");
    Таб2.Открыть("c:\temp\tabltemp.1c");
    Таб2.ВывестиСекцию("ПодвалПечать");
    ТабИмидж.ЗагрузитьИзТаблицы(Таб2);

    Конвертер = СоздатьОбъект ("Йоксель.ГрафическийКонвертер");
    Конвертер.УстановитьДокумент (ТабИмидж);
    Конвертер.КоличествоБитНаПиксел = 24; //1 4 8 24
    Картинка = Конвертер.ПолучитьИзображение ();
    Картинка.Записать ("c:\temp\test.jpg", 2);
    КонецПроцедуры

    Процедура печатьСчет()
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Счет");

    .....
    формируем таблицу
    ......

    ВысДоПодвала=Таб.ВысотаТаблицы(); // тут мы запоминаем высоту, чтобы потом по ней отрезать

    .........
    Таб.Показать("Счет");
    ......
    ВыгрузкаВФаил(таб,ВысДоПодвала);
    КонецПроцедуры;

    Отправлено 17 года(лет) назад #

RSS экспорт этой темы

Отправить сообщение

Вы должны войти в систему, чтобы оставлять сообщения.