Развитие разработки //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-ти дней со дня поступления денег на наш счет.
Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.
Для возврата оплаты просто свяжитесь с нами.