8.х Преобразование числа в штрихкод

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Inkeeper, 26 июл 2010.

  1. TopicStarter Overlay
    Inkeeper
    Offline

    Inkeeper Опытный в 1С

    Регистрация:
    22 мар 2009
    Сообщения:
    327
    Симпатии:
    0
    Баллы:
    26
    Нужно преобразовать номер документа в штрихкод. Каким образом это можно сделать? Верно ли: преобразовать в строку и назначить шрифт Barcode?
  2. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.754
    Симпатии:
    509
    Баллы:
    204
    Номер документа с префиксом?
  3. TopicStarter Overlay
    Inkeeper
    Offline

    Inkeeper Опытный в 1С

    Регистрация:
    22 мар 2009
    Сообщения:
    327
    Симпатии:
    0
    Баллы:
    26
    нет, просто число (тип Строка)
  4. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.754
    Симпатии:
    509
    Баллы:
    204
    Тогда только как Число(НомерДокумента)
  5. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    хм... в штрихкоде могут быть и буквы ;)
    Почитайте о видах ШК и все станет ясно.
    Для вставки ШК:
    1. Таблица - Рисунки - Вставить Объект.
    2. Вставляем куда-нибудь.
    3. В открывшемся окне: Радиобатон "Элемент управления", в списке "1С.V8 Печать штрих-кодов". ОК.

    Далее в коде для заполнения:
    Код:
    Область.Рисунки.Штрихкод.Объект.Сообщение = Строка.ШтрихКод;
    
    п.с. На компе должна быть установлена компонента печати ШК.
  6. TopicStarter Overlay
    Inkeeper
    Offline

    Inkeeper Опытный в 1С

    Регистрация:
    22 мар 2009
    Сообщения:
    327
    Симпатии:
    0
    Баллы:
    26
    Имя объекта "Штрихкод", вставил строчку в макет, назвал её "Строка"
    пишет:
    Код:
    .Форма.ФормаДокумента(2513,46)}: Переменная не определена (Строка)
    Область.Рисунки.Штрихкод.Объект.Сообщение = <<?>>Строка.ШтрихКод;    
    
    
    
  7. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.754
    Симпатии:
    509
    Баллы:
    204
    У нас на конфе реализовано так:
    Код:
    ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
    ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, "Расходная накладная");
    ТипШтрихкода  = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13;
    ТипКода       = ПолучитьЗначениеТипаШтрихкодаДляЭУ(ТипШтрихкода);
    Если ТипКода = -1 Тогда
    ОбщегоНазначения.СообщитьОбОшибке("Для штрих-кода формата """ + ТипШтрихкода 
    + """ не существует соответствующего типа в ЭУ ""1С:Печать штрих-кодов"".
    | Позиция будет пропущена");
    КонецЕсли;
    вШтрихКод =  ШтрихКод + "00";   //Формат(Склады.Постфикс,"ЧЦ=2;ЧВН=1;ЧН=00"); 
    вШтрихКод = вШтрихКод + РаботаСТорговымОборудованием.КонтрольныйСимволEAN(вШтрихКод, 13);
    Если РаботаСТорговымОборудованием.ПроверитьШтрихКод(вШтрихКод, ТипКода) Тогда
    ОбластьМакета.Рисунки.Штрихкод.Объект.ТипКода   = ТипКода;
    ОбластьМакета.Рисунки.Штрихкод.Объект.Сообщение = вШтрихКод;
    КонецЕсли;
    ТабДокумент.Вывести(ОбластьМакета);
    
    
    
    Процедура СформироватьШК() Экспорт
    Ном = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"),"НомерОператора");  //АВ
    //Сообщить(Ном);
    вШтрихкод          = "";
    НеНашлиУникальный = Истина;
    Префикс           = "25"+Ном;
    Постфикс          = "00";
    Сч = 0;
    ТекКод = УдалитьСимволы(Номер);
    Пока НеНашлиУникальный Цикл
    ТекКод = Число(ТекКод)+Сч;
    ТекКод = СтрЗаменить(ТекКод,Символы.НПП,"");        
    ТекКод = ""+ТекКод;
    Пока СтрДлина(ТекКод)<7 Цикл
    ТекКод = "0"+ТекКод;
    КонецЦикла;
    вШтрихкод          = Префикс + ТекКод + Постфикс;
    НеНашлиУникальный  = ПроверитьУникальностьШтрихКодаРеализации(вШтрихКод);
    Сч = Сч+1;
    КонецЦикла;
    ШтрихКод = вШтрихКод;
    КонецПроцедуры
    
    
    
    В расходной накладной выводится штрихкод. Из анализа выше превиденного кода можно догадаться каким образом формируется штрихкод.
  8. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Автор, для начала вам нужно выбрать тип штрихкода, который вы будете использовать. От этого уже и плясать нужно.

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

Поделиться этой страницей