Возникла задача прикрутить к документу печатную форму с шаблоном в формате XLS, с выводом штрихкода. Первая мысль была просто назначить шрифт ячейке, штрихкодный, но качество не удовлетворило.
Пришлось сделать в 2 этапа, сначала штрихкод выводится через отдельный макет в файл, как картинка, потом эта картинка вставляется в другой макет.
Пришлось сделать в 2 этапа, сначала штрихкод выводится через отдельный макет в файл, как картинка, потом эта картинка вставляется в другой макет.
Фрагмент кода для использования макета с пакетом Libre Office
///******************************************************
Макет = ПолучитьМакет("ШтрихКод");
ОбластьМакета = Макет.ПолучитьОбласть("Картинка");
ШК = РегистрыСведений.ШтрихКоды.СоздатьНаборЗаписей();
ШК.Отбор.Объект.Установить(Ссылка);
ШК.Прочитать();
Если ШК.Выбран() И (ШК.Количество()>0) Тогда
ОбластьМакета.Рисунки.ШК.Объект.Сообщение=ШК[0].ШтрихКод;
ОбластьМакета.Рисунки.ШК.Объект.ТекстКода=ШК[0].ШтрихКод;
ОбластьМакета.Рисунки.ШК.ВыводитьНаПечать = Истина;
Иначе
ОбластьМакета.Рисунки.ШК.ВыводитьНаПечать = Ложь;
//Сообщить("У документа отсутствуют штрих-код! Заполните его.",СтатусСообщения.Внимание);
КонецЕсли;
Макет.Вывести(ОбластьМакета);
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.Вывести(ОбластьМакета);
Каталог = КаталогВременныхФайлов();
ФайлШтирхКода =Каталог+"ШтрихКод.html";
ТабДокумент.Записать(ФайлШтирхКода, "HTML");
//***************************************************
СсылкаНаФайл=Каталог+"ШтрихКод_files\image000.png";
Диспатчер = ServiceManager.createInstance("com.sun.star.frame.DispatchHelper");
Свойства2 = ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue");
Свойства2.Name = "ToPoint";
Свойства2.Value = "$H$1";
ArgsPoint = Новый COMSafeArray("VT_VARIANT", 2);
ArgsPoint.SetValue(0, Свойства2);
Диспатчер.executeDispatch(Document.CurrentController.Frame, ".uno:GoToCell", "" , 0, ArgsPoint);
Свойства = ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue");
Свойства.Name = "FileName";
Файл = СтрЗаменить(СсылкаНаФайл, " ", "%20");
Файл = СтрЗаменить(СсылкаНаФайл, "\", "/");
Файл = "file:/" + "/localhost/" + Файл;
Свойства.Value = Файл;
Args = Новый COMSafeArray("VT_VARIANT", 2);
Args.SetValue(0, Свойства);
Свойства1 = ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue");
Свойства1.Name = "AsLink";
Свойства1.Value = Ложь;
Args.SetValue(1,Свойства1);
Диспатчер.executeDispatch(Document.CurrentController.Frame, ".uno:InsertGraphic", "" , 0, Args);
Sheet.getCellByPosition(0, 1).String = "Заказ-наряд № " + СокрЛП(Номер) + " дата: " + Формат(Дата,"ДФ = дд.ММ.гггг");
Sheet.getCellByPosition(0, 3).String = "Автомобиль модель: " + Модель;
Sheet.getCellByPosition(3, 3).String = "Гос №: " + ГосНомер;
Sheet.getCellByPosition(0, 4).String = "VIN: " + VIN;
Sheet.getCellByPosition(3, 4).String = "Год выпуска: " + Автомобиль.ГодВыпуска;
Sheet.getCellByPosition(3, 1).String = "Пробег: " + Пробег;
//перводим курсор в ячейку для начала редактирования
Свойства2.Value = "$B$9";
ArgsPoint.SetValue(0, Свойства2);
Диспатчер.executeDispatch(Document.CurrentController.Frame, ".uno:GoToCell", "" , 0, ArgsPoint);
ПоказатьПрикрепленные файлы:
По теме из базы знаний
- Импорт из EXCEL и других источников (xls, xlsx, xlsb, ods, sxc, dbf, mxl, csv, clipboard, sql) в 1С
- Конфигурация-основа для мобильного приложения - сканер штрихкода (фото сканер и ТСД) + фото
- Загрузка товаров с ценами и картинками из таблицы Excel или любого табличного документа, для 1С:Управление торговлей 11.4
- Штрихкоды документов реализации при поставке товаров в сеть Варус (Омега). Обычные и управляемые формы
- API-интеграция 1С с маркетплейсами ОЗОН, WildBerries, Я.Маркет, СберМегаМаркет, Стройландия, Леруа Мерлен, Hoff, AliExpress для УТ11, КА2, ERP2, УНФ, БП3, Розница, УТ10, УПП1.3
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот