Программное добавление ActiveX (изображений/текста/ШК и т.д.) в табличный документ


Необходимо добавить в сформированную таблицу изображения/текста/ШК (81 тип ШК) с прозрачным фоном? Вставить фирменный логотип? Быстро организовать оформление документов в корпоративном стиле? Данная разработка поможет в этом!

Развитие разработки //infostart.ru/public/138263/ для 1С 8.х

Что может:

Программно добавлять элементы ActiveX в табличный документ. Другими словами: размещать в произвольном месте в табличном документе картинки с прозрачным фоном, с возможностью произвольного смещения картинки по оси X/Y, c возможностью поворота картинки на произвольный градус. Поддержка вывода 81 типа штрих-кодов, в том числе двухмерные QR Code, Data Matrix и т.д. (корректно кодирует кириллицу).  

Кроме того, при отсутствии зарегистрированного ActiveX в системе — обработка сама скопирует и зарегистрирует необходимый ActiveX (в ДЕМО присутствуют ActiveBMP и ActiveText).

Список поддерживаемых ActiveX ограничен (подробнее см. ниже). Для добавления в поддержку нового элемента ActiveX необходимо написать запрос автору.

Где использовать:

  • при вставке подписей и печатей
  • при вставке фирменных логотипов
  • для реализации корпоративного оформления документов
  • при вставке текста
  • при вставке штрих-кодов (список доступных типов ШК см. ниже)
  • и т.д.

Список поддерживаемых ActiveX:
1. ActiveX элемент управления  bmp_1c.ocx (ActiveBMP) — автор Морев Андрей (Z1) (http://1c.proclub.ru/modules/mydownloads/personal.php?lid=2725&cid=111) — используется непосредственно для отображения картинок в таблице (обязательно)
2. ActiveX GFLAx (http://www.xnview.com/en/download_gfl.html) — для возможности произвольного поворота вставляемого изображения и конвертации входящего изображения в BMP (опционально)
3. ActiveX элемент управления  text_1c.ocx (ActiveText) — автор Морев Андрей (Z1) (http://1c.proclub.ru/modules/mydownloads/personal.php?cid=129&lid=2726) — используется непосредственно для отображения картинок в таблице (опционально)

4. ActiveX элемент управления  OcvitaBarcode.ocx — Разработчик: Ocvita (http://ocvita.ru/content/view/89/1/) На основе библиотеки zint (www.sourceforge.net/projects/zint) — используется для отображения ШК всевозможных типов в таблице

5. ActiveX элемент управления V8.Barcod — стандартный элемент управления «1С.V8.Печать штрих-кодов» для 1С 8.х

При наличии GFLAx — входящий файл картинки может быть практически любого графического формата, иначе — только BMP.

Для добавления в поддержку нового элемента ActiveX необходимо написать запрос автору.

Свойства:
ЕстьПроизвольноеСмещение — использовать произвольное смещение при размещении объекта в табличном документе (булево);
ПроизвольноеСмещениеНач_X, ПроизвольноеСмещениеКон_X, ПроизвольноеСмещениеНач_Y, ПроизвольноеСмещениеКон_Y — границы в пикселях для произвольного смещения (по умолчанию по 5 мм в каждую сторону);
ЕстьПроизвольныйПоворот — использовать поворот на произвольный градус при размещении объекта в табличном документе  (булево);
ПроизвольныйПоворотНач, ПроизвольныйПоворотКон — границы для ограничения градуса поворота (по умолчанию от -15 до 15 градусов);

Методы:
Функция ДобавитьИзображение(Таб, Лево, Верх, Право, Низ, Тип, Путь, Макет) — добавление стандартного изображения

Функция ДобавитьТекст(Таб, Лево, Верх, Право, Низ, ТипТекст) — добавление стандартного текста

Функция ДобавитьСтандартныйОбъект(Таб, Лево, Верх, Право, Низ, Тип, ТипОбъекта) — добавление стандартного объекта

Функция ДобавитьИзображение_Актив(Таб, Лево, Верх, Право, Низ, Тип, Путь, Макет) — добавление ActiveBMP

Функция ДобавитьТекст_Актив(Таб, Лево, Верх, Право, Низ, ТипТекст) Текст- добавление ActiveText

Функция ДобавитьШК_1С8(Таб, Лево, Верх, Право, Низ, Тип, ШК) — добавление стандартного «1С.V8.Печать штрих-кодов»

Функция ДобавитьШК_Оквита(Таб, Лево, Верх, Право, Низ, Тип, ШК, ТипШК) — добавление штрих-кода (с помощью OcvitaBarcode)

Функция ДобавитьActiveX(Таб, Лево, Верх, Право, Низ, Тип, Имя) — добавление произольного ActiveX (в обработке должна быть поддержка данного ActiveX)

Все функции возвращают ссылку на Рисунок табличного документа (тип «РисунокТабличногоДокумента»). Доступ к свойствам ActiveX осуществляется через СсылкаНаРисунок.Объект

Опсание параметров:

Таб — ссылка на табличный документ, куда добавляется объект

Лево, Верх, Право, Низ — координаты добавления объекта в таблицу (см. «тип»)

Тип — тип системы координат:
        0 — пиксельная;
        1 — табличная;
        2 — левый верхний угол задается в табличной системе, в (право,низ) — задается смещение относительно левого верхнего угла
        3 — то же самое что и п.2, только смещение укзывается в реальных мм (при автомасштабе — вычисляется реальная ширина листа при печати и размер)

Путь — путь к файлу изображения, либо расширение файла при непустом Макете

Макет — Макет с двоичными данными (с картинкой)

Текст — текст для вывода

ШК — штрих-код для добавления в таблицу

ТипШК — тип штрих-код для добавления в таблицу, можно передавать цифровой код или строковое название (доступные типы ШК см. ниже)

Имя — имя ActiveX (должен быть среди списка поддерживаемых обработкой ActiveX)


Пример добавления в таблицу подписи с печатью
В 

   
    ТабДок = Новый ТабличныйДокумент;
   
Макет = ЭтотОбъект.ПолучитьМакет(«Макет»);
   
//вывод самого отчета
   

    ТабДок.АвтоМасштаб = Истина;

    //подсоединим внешнюю обработку «ИзображениеДляТаблицы»
    //считаем что необходимая нам обработка лежит там же где и текущая обработка с примером
   
Обр = ВнешниеОбработки.Создать(СтрЗаменить(ЭтотОбъект.ИспользуемоеИмяФайла,«ПримерИспользования»,«ИзображениеДляТабличногоДокументаДЕМО»));

    //добавим двумерный ШК для упрощения документооборота с клиентами
   
Рис = Обр.ДобавитьШК_Оквита(ТабДок, 27, 2, 40, 40, 2, ТекстДляШК , «QR Code»);

    //для печати необходим поворот изображения и смещение + реальные размеры
    //установим признак произвольного вращения (по умолчанию от -15 до 15 градусов)
   
Обр.ЕстьПроизвольныйПоворот = Истина;
   
//установим признак произвольного смещения (по умолчанию от -5 до 5 мм)
   
Обр.ЕстьПроизвольноеСмещение = Истина;
   
Рис = Обр.ДобавитьИзображение_Актив(ТабДок, 13, 33, 40, 40, 3, «jpg»,ЭтотОбъект.ПолучитьМакет(«ТипаПечать»));

    //для подписей необходим минимум смещений по оси Y и без поворота + реальные размеры
   
Обр.ЕстьПроизвольныйПоворот = Ложь;
   
Обр.ПроизвольноеСмещениеНач_Y = —2;
   
Обр.ПроизвольноеСмещениеКон_Y = 1;

    Рис = Обр.ДобавитьИзображение_Актив(ТабДок, 20, 28, 55, 40, 3, «gif»,ЭтотОбъект.ПолучитьМакет(«Подпись_дир»));
   
Рис = Обр.ДобавитьИзображение_Актив(ТабДок, 21, 35, 33, 13, 3, «gif»,ЭтотОбъект.ПолучитьМакет(«Подпись_ГБ»));
   
Рис = Обр.ДобавитьИзображение_Актив(ТабДок, 19, 38, 43, 20, 3, «gif»,ЭтотОбъект.ПолучитьМакет(«Подпись_менеджер»));

    //вывод на экран
   
ТабДок.Показать(«Пример использования обработки «»ИзображениеДляТабличногоДокумента.epf»»»);

   

Почему платная:

Закономерный вопрос — почему данная разработка платная, если практически аналогичная по функционалу разработка на 7.7 — бесплатна? Ответ: в данной разработке использована другая методика подключения элементов ActiveX. Если в 7.7 можно было воспользоваться TableDoc.dll для добавления объекта в таблицу, то в 8.2 добавление объекта в табличный документ осуществляется стандартными средствами! Проблема в том что при программном добавлении объекта в табличный документ нет программных возможностей для привязки к этому объекту конкретного элемента ActiveX. Автор потратил немало времени, прежде чем нашел решение этого вопроса. Поэтому подчеркиваю: данная разработка платная за счет решения вышеописанной проблемы, а не за счет предоставление доступа к бесплатным ActiveX. Набор поддерживаемых ActiveX может быть любым, соответсвенно и решаемые данной обработкой задачи могут варьироваться.

Отличие от «предка» на 7.7:

1. Самый главный плюс решения на 8.х: перед добавлением объекта в табличный документ не надо выводить его на экран. Это основное неудобство решения на 7.7 при выводе сразу на принтер.

2. Реализована возможность авторегистрации недостающего в системе ActiveX. Для этого необходимо просто добавить файл с данным элементом в список Макетов обработки (как ДвоичныеДанные). При выполнении добавления элемента в табличный документ, обработка проанализирует отсутствие регистрации данного элемента в системе и при наличии этого элемента в списке Макетов обработки — скопирует файл с элементом ActiveX в каталог программы и зарегистрирует его. После чего добавит уже зарегистрированный элемент в табличный документ.

3. Возможность указания реальных размеров добавляемого объекта в мм, независимо от ширины табличного документа.

4. Сама структура обработки сделана максимально удобно для добавления в поддержку нового ActiveX (программный код обработки при этом не модифицируется).

Ограничение ДЕМО версии:

ДЕМО версия ограничена количеством рисунков в табличном документе равным одному.  Если рисунков более одного — обработка сообщит об этом и не станет добавлять элемент.

Гарантия возврата денег

ООО «Инфостарт» гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом в течение 14-ти дней со дня поступления денег на наш счет.

Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.

Для возврата оплаты просто свяжитесь с нами.

Leave a Comment

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