Имя: Пароль:
1C
1С v8
не печатается штрих-код
0 pedagog
 
12.11.15
15:08
есть обработка печати штрихкода. и все хорошо, все печатается, а один штрихкод не печатается. что с ним не так. вроде и типу ean13 он соответствует, 13 символов. подскажите, почему не печатается.
1 DGorgoN
 
12.11.15
15:16
Мало исходной информации.
Может тупо компонента за пределы выходит. Что за программа и проч?
2 pedagog
 
12.11.15
15:20
(1) что значит компонента за пределы выходит? программа бухгалтерия. я внедряла в нее работу со штрихкодами.
3 pedagog
 
12.11.15
15:21
так в остальных случаях штрихкод печатается. это только один какой-то что ли неправильный штрихкод
4 VikingKosmo
 
12.11.15
15:23
то ли неправильный
5 YurAnt
 
12.11.15
15:24
(3) "в остальных случаях" это как?

штрихкод один на весь документ? Или выводится, скажем, группа строк по товарам с печатью ШК по каждой строке?

или же "в других случаях" = "в других документах" ?
6 NikVars
 
12.11.15
15:27
(3) Ну что тебе сказать... И среди штрихкодов попадаются козлы...
7 pedagog
 
12.11.15
15:27
группа строк по товарам с печатью ШК по каждой строке
8 pedagog
 
12.11.15
15:29
в остальных случаях печатается, т.е. для других товаров со штрихкодами ценники печатаются со штрихкодами, а для одного товара, у которого штрихкод есть, но на печать ценник выводится без штрихкода. Почему? Что проверять, где искать ошибку?
9 VikingKosmo
 
12.11.15
15:29
ошибку легче всего искать в отладчике
10 YurAnt
 
12.11.15
15:32
(7) кол-во симвоолов к-е передается в Сообщение/ТекстКода если не ошибаюсь должно быть равно 12 в еан13, контрольный 13 символ вроде автоматом ставится

Попробуйте проверить что передается по этой строке из объекта (товар или что там) в значение ШК

у меня это как-то так было

ШтрихкодДока = Прав(ЭтотОбъект.Номер,12);
    ОбластьМакета.Рисунки.Штрихкод.Объект.ТипКода = 1;
    ОбластьМакета.Рисунки.Штрихкод.Объект.Сообщение = ШтрихкодДока;
    ОбластьМакета.Рисунки.Штрихкод.Объект.ТекстКода = ШтрихкодДока;
11 YurAnt
 
12.11.15
15:33
с тех пор я уже переключился на еан128, но помню что на подобные грабли натыкался
12 NikVars
 
12.11.15
15:38
(8) Я вот думаю, когда ты привнесешь сюда конкретику и покажешь, ЧТО у тебя печатается и ГДЕ, а ЧТО - НЕТ?
Вопрос понятен?
13 anatoly
 
12.11.15
15:47
(3) у него все символы - цифры?
либо проверить контрольный код.

ну и копипастни сюда этот код чтоли...
14 pedagog
 
12.11.15
15:56
если ПечатьШК тогда
                    если ЗначениеЗаполнено(СтрокаТаблицы.Номенклатура.ШтрихКод) тогда
                        Рисунок = ОбластьЦенника.Рисунки.ШК;
                        Эталон = ПолучитьОбщийМакет("Эталон");
                        КоличествоМиллиметровВПикселе = Эталон.Рисунки.Квадрат100Пикселей.Высота / 109;
                        УголПоворота = 0;
                        ПараметрыШтрихкода = Новый Структура;
                        ПараметрыШтрихкода.Вставить("Ширина"            , Окр(Рисунок.Ширина / КоличествоМиллиметровВПикселе));
                        ПараметрыШтрихкода.Вставить("Высота"            , Окр(Рисунок.Высота / КоличествоМиллиметровВПикселе));
                        ПараметрыШтрихкода.Вставить("ТипКода"            , 1);
                        ПараметрыШтрихкода.Вставить("ОтображатьТекст"    , Истина);
                        ПараметрыШтрихкода.Вставить("РазмерШрифта"        , 12);
                        ПараметрыШтрихкода.Вставить("УголПоворота"        , Число(УголПоворота));
                        ПараметрыШтрихкода.Вставить("Штрихкод"            ,  СтрокаТаблицы.Номенклатура.Штрихкод);
                        ////////////////////////////////////////////////////////////////////////////////////////////////
                        Картинка = ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);
                        Рисунок.Картинка = Картинка;
                    КонецЕсли;
                КонецЕсли;
15 pedagog
 
12.11.15
15:57
Функция ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода) Экспорт
    
    ВнешняяКомпонента = ПодключитьВнешнююКомпонентуПечатиШтрихкода();
    
    Если ВнешняяКомпонента = Неопределено Тогда
        ВызватьИсключение НСтр("ru = 'Ошибка подключения внешней компоненты печати штрихкода!'");
    КонецЕсли;
    
    // Зададим размер картинки
    ВнешняяКомпонента.Ширина = Окр(ПараметрыШтрихкода.Ширина);
    ВнешняяКомпонента.Высота = Окр(ПараметрыШтрихкода.Высота);
    
    ВнешняяКомпонента.АвтоТип = Ложь;
    
    Если ПараметрыШтрихкода.ТипКода = 99 Тогда
        ТипШтрихкодаВрем = ОпределитьТипШтрихкода(ПараметрыШтрихкода.Штрихкод);
        Если ТипШтрихкодаВрем = "EAN8" Тогда
            ВнешняяКомпонента.ТипКода = 0;
        ИначеЕсли ТипШтрихкодаВрем = "EAN13" Тогда
            ВнешняяКомпонента.ТипКода = 1;
            // Если код содержит контрольный символ, обязательно указываем.
            ВнешняяКомпонента.СодержитКС = СтрДлина(ПараметрыШтрихкода.Штрихкод) = 13;
        ИначеЕсли ТипШтрихкодаВрем = "EAN128" Тогда
            ВнешняяКомпонента.ТипКода = 2;
        ИначеЕсли ТипШтрихкодаВрем = "CODE39" Тогда
            ВнешняяКомпонента.ТипКода = 3;
        ИначеЕсли ТипШтрихкодаВрем = "CODE128" Тогда
            ВнешняяКомпонента.ТипКода = 4;
        ИначеЕсли ТипШтрихкодаВрем = "ITF14" Тогда
            ВнешняяКомпонента.ТипКода = 11;
        Иначе
            ВнешняяКомпонента.АвтоТип = Истина;
        КонецЕсли;
    Иначе
        ВнешняяКомпонента.АвтоТип = Ложь;
        ВнешняяКомпонента.ТипКода = ПараметрыШтрихкода.ТипКода;
    КонецЕсли;
    
    Если ПараметрыШтрихкода.Свойство("ПрозрачныйФон") Тогда
        ВнешняяКомпонента.ПрозрачныйФон = ПараметрыШтрихкода.ПрозрачныйФон;
    КонецЕсли;

    ВнешняяКомпонента.ОтображатьТекст = ПараметрыШтрихкода.ОтображатьТекст;
    
    // Формируем картинку штрихкода.
    ВнешняяКомпонента.ЗначениеКода = ПараметрыШтрихкода.Штрихкод;
    
    Если ПараметрыШтрихкода.Свойство("УголПоворота") Тогда
        ВнешняяКомпонента.УголПоворота = ПараметрыШтрихкода.УголПоворота;
    Иначе
        ВнешняяКомпонента.УголПоворота = 0;
    КонецЕсли;
    
    // Если установленная нами ширина меньше минимально допустимой для этого штрихкода.
    Если ВнешняяКомпонента.Ширина < ВнешняяКомпонента.МинимальнаяШиринаКода Тогда
        ВнешняяКомпонента.Ширина = ВнешняяКомпонента.МинимальнаяШиринаКода;
    КонецЕсли;
    
    // Если установленная нами высота меньше минимально допустимой для этого штрихкода.
    Если ВнешняяКомпонента.Высота < ВнешняяКомпонента.МинимальнаяВысотаКода Тогда
        ВнешняяКомпонента.Высота = ВнешняяКомпонента.МинимальнаяВысотаКода;
    КонецЕсли;

    Если ПараметрыШтрихкода.Свойство("РазмерШрифта") И (ПараметрыШтрихкода.РазмерШрифта > 0)
        И (ПараметрыШтрихкода.ОтображатьТекст) И (ВнешняяКомпонента.РазмерШрифта <> ПараметрыШтрихкода.РазмерШрифта) Тогда
        ВнешняяКомпонента.РазмерШрифта = ПараметрыШтрихкода.РазмерШрифта;
    КонецЕсли;
    
    // Сформируем картинку
    ДвоичныеДанныеКартинки = ВнешняяКомпонента.ПолучитьШтрихкод();
    
    // Если картинка сформировалась.
    Если ДвоичныеДанныеКартинки <> Неопределено Тогда
        // Формируем из двоичных данных.
        Возврат Новый Картинка(ДвоичныеДанныеКартинки);
    КонецЕсли;
    
    Возврат Неопределено;

КонецФункции
16 anatoly
 
12.11.15
16:03
(14) само значение штрихкода, Карл!!
17 pedagog
 
12.11.15
16:55
штрихкод 5702324556298
18 NikVars
 
12.11.15
17:41
(17) Держи!
http://barcode.tec-it.com/ru#
19 anatoly
 
12.11.15
17:42
(17) http://s013.radikal.ru/i323/1511/1e/7404044a489f.png

EAN13 печатается, а вот CODE39 (под ним) нет - но скорее всего не вмещается просто.

так что "ищите проблему на своей стороне" (с)
20 NikVars
 
12.11.15
17:43
(17) Ты точно генеришь EAN-13 или все таки дергаешь EAN-8?
21 Мимохожий Однако
 
12.11.15
17:43
Внеси штрихкод повторно ручками, очистив существующий. Возможно, там есть неправильные символы.
22 anatoly
 
12.11.15
17:56
(21) в (19) я скопипастил его из (17) и напечатал.
дело не в символах, хотя тоже предполагал.
23 pedagog
 
12.11.15
17:56
(21) не помогло
24 pedagog
 
12.11.15
17:56
(20) точно EAN-13
25 pedagog
 
12.11.15
17:58
(19) проверила у себя в другой печ форме, тоже выводит этот штрихкод, а вот в одной печ форме нет. почему? не пойму.
26 pedagog
 
12.11.15
18:08
Всем спасибо, получилось. Уменьшила шрифт цифр штрихкода