Имя: Пароль:
1C
1С v8
Вывод штрихкода в макет внешней печатной формы.
0 lirt82
 
11.11.21
13:32
Есть старая конфа в ней нет ничего связанного с понятием штрихкод. Нужно в расходной накладной вывести штрихкод номенклатуры, после распечатки будут пикать по штрихкоду сканером.
Не снимая с замка в режиме предприятия в справочнике Номенклатура создал Свойство Штрихкод, внес значения это цифры штрихкода. Во внешней печатной форме получаю значение свойства номенклатуры напрм. "4821506487000". Установил на комп компоненту "1CBarCode.exe" с сайта ИТС, в макете в ячейке добавил Рисунок, но не получается вывести сам штрихкод в этот рисунок. Есть пример вывода штрихкода в макет на обычных формах без использования функции ПолучитьЗначениеТипаШтрихкодаДляЭУ(ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13) ее нет в конфе:-)
1 Ёпрст
 
гуру
11.11.21
13:41
(0)
нужно добавить общий макет с нэйтив компонентой печати ШК и выдрать кусок для печати с любой бсп.
Там просто через эту вк ШК лепится как картинка и устанавливается в область ячейки.
2 Ёпрст
 
гуру
11.11.21
13:42
а то что ты скачал "1CBarCode.exe" - это древнее г.. мамонта
3 Ёпрст
 
гуру
11.11.21
13:43
и так и не понятно, код для уф нужен или для оф
4 lirt82
 
11.11.21
13:44
(3) оф
5 Kassern
 
11.11.21
13:45
(2) древнее, но рабочее)
Там же все просто, в макете добавляем объект с штрикодом (главное в настройки не заходить этого объекта в макете, а то словите вылет, если у вас не винXP)
А в обработке уже обращаетесь к области с этим объектом, указываете какой вид шк вам нужен и передаете сам шк. Он вам нарисует как надо
6 Ёпрст
 
гуру
11.11.21
13:46
(4) в конфе есть общие модули

МенеджерОборудованияСерверПовтИсп
МенеджерОборудованияВызовСервера

(5) нихрена оно не рабочее, на 64x
7 Ёпрст
 
гуру
11.11.21
13:47
(4) ? эти общие модули есть у вас ?
8 lirt82
 
11.11.21
13:48
(7) нет таких модулей, это конфа бухня 2.0 редакции
9 Kassern
 
11.11.21
13:48
(6) мы про клиент, или про сервер 64? Был проект в ут10, где сервер был 64х 1с, а на клиентских компах стояли 32х 1с, все работало как надо.
10 Ёпрст
 
гуру
11.11.21
13:49
(9) на клиенте 64 х не работает ни разу.
11 lirt82
 
11.11.21
13:49
(5) подробнее про добавление объекта
12 Kassern
 
11.11.21
13:53
(11) у вас клиент 64х?
13 lirt82
 
11.11.21
13:54
(12) да Вин 10 64 битная
14 Ёпрст
 
гуру
11.11.21
13:55
(13) :))
не про это спрашивают. У вас 1с-ина 64х или 32 на клиенте?
15 pechkin
 
11.11.21
13:55
можно из бпо дернуть и компоненту и метод
16 lirt82
 
11.11.21
13:55
(14) 64
17 Ёпрст
 
гуру
11.11.21
13:56
думаю 32.

Но, я бы всё равно взял бы типовой кусок с БСП, потом пригодилось бы еще где-нибудь. Мало ли, положат базу на сервер нормальный и клиенты 64ч будут.
18 pechkin
 
11.11.21
13:56
можно еще просто шрифт установить
19 Ёпрст
 
гуру
11.11.21
13:59
(18) с qr кодом ? :)
20 Ёпрст
 
гуру
11.11.21
13:59
(16) точна ? И в диспетчере задач. у вас процесс 1с-ный 64 ?
21 lirt82
 
11.11.21
14:00
(17) компоненту КомпонентаПечатиШтрихкодов, выгрузил из конфы БСП в файл, далее в своей внешней печатной форме добавил макет с типом двоичные данные и загрузил эту компоненту
22 Ёпрст
 
гуру
11.11.21
14:00
Если да, то  "1CBarCode.exe" вам не поможет. она только для 32 клиентов могёт
23 lirt82
 
11.11.21
14:00
(21) тип двоичные данные правильный?
24 Ёпрст
 
гуру
11.11.21
14:02
(23) валяется, обычно в общем макете КомпонентаПечатиШтрихкодов
25 Ёпрст
 
гуру
11.11.21
14:02
берешь с бсп 2 общих модуля и там одна проуа для печати
26 pechkin
 
11.11.21
14:03
сама процедура элементарная. ни на что не ссылается
https://pastebin.com/acCtBBhE
27 Ёпрст
 
гуру
11.11.21
14:04
тип того в итоге:


        Рисунок = ОбластьМакета.Рисунки.Штрихкод;
        Картинка = ПолучитьШтрихкод(ШиринаШтрихкода, ВысотаШтрихкода,ПечатьШК);
        Рисунок.Картинка = Картинка;
....
Функция ПолучитьШтрихкод(ШиринаШтрихкода, ВысотаШтрихкода,ШтрихКод)
//    0 (тип кода - EAN8)
//1 (тип кода - EAN13)
//2 (тип кода - EAN128)
//3 (тип кода - CODE39)
//4 (тип кода - CODE128)
//5 (тип кода - CODE16K)
//6 (тип кода - PDF417)
//7 (тип кода - Industrial2of5)
//8 (тип кода - Interleaved2of5)
//9 (тип кода - Code39FullASCII)
//10 (тип кода - CODE93)
//11 (тип кода - ITF14)
//12 (тип кода - RSS14)
//13 (тип кода - CodaBar)
//14 (тип кода - EAN13 AddOn 2)
//15 (тип кода - EAN13 AddOn 5)
//16(тип кода - QR)
//17(тип кода - GS1 databar extended stacked), [с версии 9.0.2.2],
//18(тип кода DataMatrix ASCII), [с версии 9.0.2.2],
//19(тип кода DataMatrix Base256), [с версии 9.0.2.2],
//20(тип кода DataMatrix Text), [с версии 9.0.2.2],
//21(тип кода DataMatrix C40), [с версии 9.0.2.2],
//22(тип кода DataMatrix X12), [с версии 9.0.2.2],
//23(тип кода DataMatrix Edifact)[с версии 9.0.2.2],
//24(тип кода GS1 Datamatrix) [с версии 9.0.6.4]
    ПараметрыШтрихкода = Новый Структура;
    ПараметрыШтрихкода.Вставить("Ширина"            , ШиринаШтрихкода);
    ПараметрыШтрихкода.Вставить("Высота"            , ВысотаШтрихкода);
    ПараметрыШтрихкода.Вставить("ТипКода"           , 16);
    ПараметрыШтрихкода.Вставить("ОтображатьТекст"   , Ложь);
    //ПараметрыШтрихкода.Вставить("РазмерШрифта"      , 20);
    //ПараметрыШтрихкода.Вставить("УголПоворота"      , Число(УголПоворота));
    ПараметрыШтрихкода.Вставить("Штрихкод"          ,ШтрихКод);
    ПараметрыШтрихкода.Вставить("ПрозрачныйФон"     , ИСТИНА);
    //ПараметрыШтрихкода.Вставить("УровеньКоррекцииQR", УровеньКоррекцииQR);
    ПараметрыШтрихкода.Вставить("Масштабировать"          ,  Истина);
    //ПараметрыШтрихкода.Вставить("СохранятьПропорции"     ,  Истина);
    //ПараметрыШтрихкода.Вставить("ВертикальноеВыравнивание",  ВертикальноеВыравнивание);
    //ПараметрыШтрихкода.Вставить("GS1DatabarКоличествоСтрок", КоличествоСтрокGS1Databar);

    Возврат МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);
    
КонецФункции

28 pechkin
 
11.11.21
14:05
(27) в последних версия вроде в отдельном модуле формирование картинки
29 Ёпрст
 
гуру
11.11.21
14:08
(28) не смотрел, если честно. В своё время взял с последней на тот момент БПО
30 lirt82
 
16.11.21
14:07
получилось вывел штрихкод, НО не выводятся сами цифры штрихкода под черточками. Как исправить? Какой это параметр?
31 lirt82
 
16.11.21
14:09
32 unbred
 
16.11.21
14:26
(31) толи текст, толи сообщение. там смотри
33 lirt82
 
16.11.21
14:59
(32) да все дело в параметре ВнешняяКомпонента.ТекстКода, у меня он пустой, и недоступен для записи, т.е. сама компонента его не возвращает после подключения
34 unbred
 
16.11.21
15:06
(33) не знаю, что за ВК, и как ты к ней обращаешься.. я получаю область макета, на ней ШК, на ШК картинка.
у картинки есть сообщение и текст кода.
если не доступен для записи, возможно не к тому полю обращаешься.
смотри в отладке, что у тебя в картинке штрихкода лежит
35 Ёпрст
 
гуру
16.11.21
16:07
(33) ПараметрыШтрихкода.Вставить("ОтображатьТекст"   , Ложь);
36 Ёпрст
 
гуру
16.11.21
16:07
тут истину воткни, ОтображатьТекст в ВК, будет работать для одномерных ШК
Закон Брукера: Даже маленькая практика стоит большой теории.