|   |   | 
| 
 | Штрих код в отчет на СКД | ☑ | ||
|---|---|---|---|---|
| 0
    
        pessok 15.10.12✎ 09:17 | 
        Коллеги, всем доброго времени суток понедельника. Выручайте, плз. Задача, казалось бы, тривиальная, вывести в отчет штрих код. Проблема в том, что сам штрих код - это ActiveX объект, и создавать его динамически не выходит. Решил сделать второй макет, в котором этот штрих код есть, и для начала присоединять область при компоновке. Работает, но выводит коряво.
  Пробовал находить находить рисунок во втором макете, и распологать его в нужном мне макете по тексту в табличном документе, но не хочет. Подозреваю, что расположить работает только для картинок конкретного табдока. В общем, куда ковырять? | |||
| 1
    
        pessok 15.10.12✎ 09:28 | 
        upd: объект Рисунок таки вставляется, но он почему-то пустой     | |||
| 2
    
        pessok 15.10.12✎ 09:50 | 
        собственно код процедуры, не работающей... процдеура вызывается при компоновке для каждоый строки
  Процедура СоздатьШтрихКод(ДокРезультат, ОбластьШтрихКодаСтар, Владелец) Макет = ПолучитьМакет("Макет"); ТабДок = Новый ТабличныйДокумент; ОбластьШтрихКод = Макет.ПолучитьОбласть("ШтрихКод"); Штрихкод = ""; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Штрихкоды.Штрихкод |ИЗ | РегистрСведений.Штрихкоды КАК Штрихкоды |ГДЕ | Штрихкоды.Владелец = &Владелец"; Запрос.УстановитьПараметр("Владелец", Владелец); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Штрихкод = ""; Пока Выборка.Следующий() Цикл Штрихкод = Выборка.Штрихкод; Прервать; КонецЦикла; Если Не ПустаяСтрока(Штрихкод) Тогда ОбластьШтрихКод.Рисунки[0].Объект.ТипКода = УправлениеРозничнойТорговлей.ПолучитьЗначениеТипаШтрихкодаДляЭУ(ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13); ОбластьШтрихКод.Рисунки[0].Объект.Сообщение = Штрихкод; Рис = ДокРезультат.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Объект); Рис = ОбластьШтрихКод.Рисунки[0]; //вот эта строка однозначно работает неверно, и затык в ней. Рис.Расположить(ОбластьШтрихКодаСтар); КонецЕсли; //ТабДок.Показать(); КонецПроцедуры есть у кого какие идеи? | |||
| 3
    
        pessok 15.10.12✎ 10:05 | 
        в общем плюнул и забил на Active X, что и надо было сделать с самого начала. Решил условным оформлением с нужным шрифтом тупо     | |||
| 4
    
        Aprobator 15.10.12✎ 10:07 | 
        а где вывод то штрихкода? Вижу, что у объекта выведенного в рисунке присваивается какое то свойство. И почему штрихкод - ACTIVE объект? Всегда как то считал, что штрихкод по своей сути определенный шрифт. Могу, конечно, ошибаться.     | |||
| 5
    
        Aprobator 15.10.12✎ 10:07 | 
        (3) правильно - нефиг извращаться.     | |||
| 6
    
        pessok 15.10.12✎ 15:11 | 
        Блин. А вот фиг! Вывести то что-то вывелось, но он не считывается и даже внешне абсолютно непохоже на Active X :( чего-то с самим текстом надо делать еще?     | |||
| 7
    
        Aprobator 15.10.12✎ 16:07 | 
        (6) шрифт правильный поставить и его размер. Ну может еще с межсимвольным расстоянием чего, хотя сомнительно.     | |||
| 8
    
        Aprobator 15.10.12✎ 16:08 | 
        ты штрихкод то сначала в поле табличного документа для опыта попробуй сделать, а потом уж в макет его пихать будешь.     | |||
| 9
    
        Aprobator 15.10.12✎ 16:09 | 
        а то значит быть похожим на ActiveX?     | |||
| 10
    
        pessok 16.10.12✎ 09:09 | 
        в итоге сделал таки макетом и ActiveX... хз, время уже поджимало с СКД ковыряться, а шрифтом перепробовал три. Там реально дело в межсимвольном интервале     | |||
| 11
    
        pessok 16.10.12✎ 09:09 | 
        спасибо, энивей!     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |