|
Алгоритм генерации штрихкода | ☑ | ||
---|---|---|---|---|
0
PrimaGod
16.06.21
✎
06:15
|
Здравствуйте! Дали задачу сделать через внешний обработчик генератор штрихкода с фиксированными 3 первыми цифрами, дальше 6 цифр это инвентарный номер, выбрал EAN-13.
https://ibb.co/0V7pkT1 - как думаю будет выглядеть, добавляешь пишешь ШК, нажимаешь и ШК формируется https://ibb.co/Y20HVt9 - Код которые я нарыл Помогите разобраться как его (код) можно использовать, с ШК никогда не занимался, да и не учили нас их создавать, а задачу дали и нет возможности её сменит а сдавать её сегодня. И по возможности помогите это сделать работающим! Заранее Спасибо! Ps- Искал по этой теме оооочень долго, неужели это так сложно? |
|||
1
Irbis
16.06.21
✎
06:20
|
Всё что нужно, если конечно требуется по заданию, добить строку ШК контрольным символом, чтобы соответствовал выбранному стандарту. Префикс (3 фиксированных цифры), инвентарный номер (6 цифр с лидирующими нулями)+ контрольная цифра.
|
|||
2
PrimaGod
16.06.21
✎
06:28
|
(1) А как сам штрих код будет создаваться? Для этого же что-то нужно?
|
|||
3
ДенисЧ
16.06.21
✎
06:29
|
(2) А что в твоём понимании "штрих-код"? Картинка? Так в любой конфигурации, где он используется - есть примеры кода.
|
|||
4
PrimaGod
16.06.21
✎
06:36
|
(3) Да, нажимаешь Сформировать штрихкод и формируется картинка штрихкода с вставленными числами. Пример кода генерации картинки штрихкода не могу найти((
|
|||
5
Chameleon1980
16.06.21
✎
06:38
|
(4)бедааа.трудно Вам будет
|
|||
6
PrimaGod
16.06.21
✎
06:43
|
Так я с этой темой не знаком, думал что тут помогут, расскажут как сделать...
|
|||
7
Irbis
16.06.21
✎
06:49
|
(6) Тады шукай в тырнете приблуду для генерации ШК из строки. В стародавние времена их там было как дерьма за баней у нерадивого хозяина. Она всё за тебя сделает.
|
|||
8
NorthWind
16.06.21
✎
07:15
|
(0) > Помогите разобраться как его (код) можно использовать
Код (твердую копию) можно использовать для идентификации реальных объектов, на которые он помещен, внутри информационной системы. Например, в супермаркете кассир сканирует код и в кассовом приложении по нему автоматически ищется и подбирается товар. В вашем случае - с инвентарниками - код можно использовать, например, для инвентаризации основных средств. Бухгалтер пройдет с терминалом сбора данных по цеху, пропикает все коды, ОС по ним подберутся в список и можно будет сделать вывод, все ли они на месте или что-то пропало. Вы это хотели спросить? Или о чем речь? |
|||
9
PrimaGod
16.06.21
✎
07:49
|
(8) во 2 картинке код 1с который я нашёл, я хотел бы чтобы мне объяснили как его можно использовать в моей задаче. Задача вроде простая. картинка 1 - наживаешь "Добавить" в добавленную строку пишешь цифровой ШК, нажимаешь "Сформировать ШК" и формируется КАРТИНКА ШК. Искал в интернете по моей теме не смог найти.
|
|||
10
NorthWind
16.06.21
✎
08:13
|
(9) непосредственно генерация штрихов делается внешней компонентой. Если у вас конфигурация пустая, то компоненту необходимо еще скачать, установить и подключить. Почитать можно, например, вот здесь 1С 8.3 УФ Вывести штрих-код на печатную форму
|
|||
11
NorthWind
16.06.21
✎
08:13
|
||||
12
Sneer
16.06.21
✎
08:14
|
(9) Этот код для формирования контрольной цифры (в EAN13 это последняя цифра в штрихкоде) и для весового штрихкода, второе тебе вообще не нужно.
Если тебе нужно получить картинку штрихкода, то тут зависит от того, где ты это делаешь - в типовых конфигурациях есть несколько механизмов формирования штрихкода. Если это типовая конфигурация, то скорее всего сработает примерно такой вариант: ТабДок.АвтоМасштаб = Истина; ТабДок.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПечатьШККоманды"; Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("ШтрихкодКоманды"); ОбластьМакета = Макет.ПолучитьОбласть("Карточка"); КоличествоМиллиметровВПикселе = 0.1;//Эталон.Рисунки.Квадрат100Пикселей.Высота / 100; ПараметрыШтрихкода = Новый Структура; ПараметрыШтрихкода.Вставить("Ширина", Окр(Макет.Рисунки.Штрихкод.Ширина / КоличествоМиллиметровВПикселе)); ПараметрыШтрихкода.Вставить("Высота", Окр(Макет.Рисунки.Штрихкод.Высота / КоличествоМиллиметровВПикселе)); ПараметрыШтрихкода.Вставить("ТипКода", 4); // 4 - Code128, 1 - еан13 ПараметрыШтрихкода.Вставить("ОтображатьТекст", Ложь); ПараметрыШтрихкода.Вставить("Штрихкод", Штрихкод); ОбластьМакета.Рисунки.Штрихкод.Картинка = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода); ОбластьМакета.Параметры.Название = ТекстКоманды; ТабДок.Вывести(ОбластьМакета); ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); Если по условиям МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода() недоступна, то можно формировать картинку через ActiveX компоненту "Печать штрихкодов", но для этого нужно ее установить и зарегистрировать, конечно. Можно еще напечатать штрихкод с помощью специальных шрифтов. Так что выбирай |
|||
13
NorthWind
16.06.21
✎
08:15
|
(12) вряд ли типовая, на картинке пустой конфигуратор без всего
|
|||
14
PrimaGod
16.06.21
✎
08:21
|
Уточнил. Точнее задача звучит- из цифр формируется картинка. Вбиваешь цифры нажимаешь кнопку и из цифр формируется картинка.
|
|||
15
PrimaGod
16.06.21
✎
08:22
|
Картинка ШК. (14)
|
|||
16
NorthWind
16.06.21
✎
08:23
|
Сначала нужно подготовить строку кода. Если вы используете EAN13, то будет нечто вроде
СтрокаШК = "200" // Первые три фиксированные цифры + ИнвентарныйНомер // Инвентарник - 6 цифр + "000"; // Дополняем до 12 значащих цифр - их не может быть меньше 12; // И добавляем контрольную цифру к 12 значащим СтрокаШК = СтрокаШК + КонтрольныйСимволEAN (СтрокаШК, 13); Далее эту строку нужно передать механизму, который будет формировать штрихи - это будет либо внешняя компонента, либо механизм библиотеки подключаемого оборудования, либо процедура печати ШК специальным шрифтом. Вам нужно решить что вам удобнее использовать (или спросить у преподавателя). Самостоятельно рисовалку кода вы все равно не напишете, опыта не хватит, так что тут только готовый механизм. |
|||
17
PrimaGod
16.06.21
✎
08:39
|
(16) А рисовалку кода можно как-то найти? Если поможете с задачей то могу и денег дать.
|
|||
18
ДенисЧ
16.06.21
✎
08:40
|
(17) Подсистема ШтрихкодированиеДокументов в БСП - вполне себе рисовалка.
|
|||
19
PrimaGod
16.06.21
✎
08:42
|
По словам того кто дал задачу, то это просто. Нужно чтобы цифры формировали ШК. Самый просто способ то это перевести число в двоичную систему
|
|||
20
ДенисЧ
16.06.21
✎
08:43
|
(19) Мда... Лучше беги оттуда... Хорошего там точно не посоветуют...
|
|||
21
Sneer
16.06.21
✎
08:45
|
(17) Сначала нужно определиться, что именно можно использовать. Если доступна библиотека подключаемого оборудования, то в (12) я привел рабочий код для рисования штрихкода.
(19) Думается, двоичная система из другого задания. Если "это просто", то возможно нужно просто сформировать сами цифры ШК, а не картинку, тогда решение в (16) |
|||
22
NorthWind
16.06.21
✎
08:50
|
(19) ну как сказать... Для неопытного человека не особо просто.
https://ru.wikipedia.org/wiki/Universal_Product_Code |
|||
23
Sneer
16.06.21
✎
09:03
|
(22) Судя по первоначальному описанию в (0) это должна быть вполне прикладная задача, а тут тогда как картинку средставми 1С рисовать? Руками BMP-шник формировать или в табличном документе клеточки закрашивать? Следующее задание тогда должно быть - написать в 1С свой архиватор ;)
|
|||
24
Mikeware
16.06.21
✎
09:06
|
(20) "закон соответствия"
|
|||
25
PrimaGod
16.06.21
✎
09:11
|
Ещё уточнил.
Нужно числу присвоить штрих, можно без цифр. Объяснили с двоичным кодом - берём число переводим в двоичный код, и 0 - белый штрих, 1- чёрный. делается в графическом поле |
|||
26
PrimaGod
16.06.21
✎
09:13
|
- можно без цифр
Имеется ввиду штрихкод На выходе получится картинка со штрихами |
|||
27
Mikeware
16.06.21
✎
09:15
|
(25) "делай"©
хотя я б пропрсил предложившего "показать мастер-класс" (ибо (19)- "все просто"), и с удовольствием бы посмотрел... на мой взгляд, это будет забавно... |
|||
28
Mikeware
16.06.21
✎
09:17
|
вообще, в былые стародавние времена, когда давали задачу - решение начинали не с форумов, а с базы: "что такое штрих-код", "какие бывают ШК", "какой ШК нужно применить из всего многообразия", "как формируется" ,"чем формируется", "какие механизмы в текущем программном продукте"...
|
|||
29
PrimaGod
16.06.21
✎
09:19
|
сказали таким образом можно свой алгоритм сделать без EAN13
|
|||
30
Mikeware
16.06.21
✎
09:20
|
(29) замечательно. а читать этот ШК по "своему алгоритму" кто будет?
|
|||
31
NorthWind
16.06.21
✎
09:26
|
(25) ну вообще это собачья чушь так-то. То есть сделать так можно, конечно, но это будет что угодно, только не ШК EAN-13.
Ликбез по формированию ШК - в (22). |
|||
32
NorthWind
16.06.21
✎
09:27
|
если просто стоит задача чет нарисовать полосатое - можно, конечно, и так. Только результат будет другой. Не EAN-13.
|
|||
33
PrimaGod
16.06.21
✎
09:29
|
(32) Да, мой косяк, думал что нужно выбрать тип ШК и от это отталкиваться, и только сейчас более подробно объяснили
|
|||
34
PrimaGod
16.06.21
✎
09:31
|
Как оказалось, нужно просто чтоб штрихи делало, для простоты можно перевести в двоичный код (25), теперь зная что точно нужно можете помочь?
|
|||
35
Mikeware
16.06.21
✎
09:31
|
(32) "чет полосатое" <> ктрих-код
|
|||
36
PrimaGod
16.06.21
✎
09:31
|
Помочь как это сделать.
|
|||
37
Mikeware
16.06.21
✎
09:32
|
(34) перевести число в двоичное, перебирать разряды, и присоединять секции в зависимости от символа - "черную" или "белую"
|
|||
38
Sneer
16.06.21
✎
09:33
|
(34) А чем именно штрихи-то делать? А то тут тоже может не все так однозначно?
|
|||
39
Василий Алибабаевич
16.06.21
✎
09:33
|
(17) Скачай отсюда http://sthinks.ru/faq/71-ov/110-shrift.html шрифт и рисуй любые штрихкоды.
ЗЫ. Жду денег. |
|||
40
Mikeware
16.06.21
✎
09:35
|
(39) любые не получится. и знать надо, как именно применять (ну или хотя бы посмотреть в типовых)
|
|||
41
PrimaGod
16.06.21
✎
09:36
|
(39) Ничего стороннего не надо, если вы внешнюю обработку сделаете как я прошу, то дам денег
|
|||
42
PrimaGod
16.06.21
✎
09:38
|
(37) Да
|
|||
43
PrimaGod
16.06.21
✎
09:41
|
(37) Это сложно сделать? а То скоро сдавать уже
|
|||
44
Mikeware
16.06.21
✎
09:43
|
(43) так я и написал, как сделать
|
|||
45
PrimaGod
16.06.21
✎
09:48
|
(44) Можете внешнюю обработку сделать? я Вам 300р скину на карту или куда скажите времени уже почти нет, буду очень благодарен за помощь. Думаю у вас быстрее получится чем у меня
|
|||
46
Mikeware
16.06.21
✎
09:55
|
(45) сделать-то я могу, но задание-то - ваше...
|
|||
47
PrimaGod
16.06.21
✎
09:57
|
(46) Более подробно нужно?
|
|||
48
PrimaGod
16.06.21
✎
09:58
|
Могу точно сформулировать задачу
|
|||
49
Mikeware
16.06.21
✎
09:58
|
(47) нет, ваше задание нужно делать вам...
|
|||
50
Мимохожий Однако
16.06.21
✎
10:10
|
ОФФ. Боты-студенты полезли на форум (
|
|||
51
PrimaGod
16.06.21
✎
10:11
|
(49) Это обработка идёт в отчёт, сделать её не успеваю сильно, я и прошу помощи. За вашу разработку я ничего не получу, но смогу сдать отчёт и начать подготовку к защите отчёта, после всего я обещаю во всём самому разобраться.
|
|||
52
Mikeware
16.06.21
✎
10:12
|
(50) "госы". Мой тоже послезавтра сдает...
|
|||
53
Mikeware
16.06.21
✎
10:13
|
(51) что сделано за 13 минут, с 09:58 до 10:11 ?
|
|||
54
hhhh
16.06.21
✎
10:17
|
(51) вы не туда пришли. Есть же специализированные сайты, где помогают студентам за деньги, туда и обращайтесь.
|
|||
55
PrimaGod
16.06.21
✎
10:18
|
(53) Ничего. Я не в ту степь шёл, то что сделал, и то что в итоге объяснили сделать не соответствует. осталось только практическая часть с обработкой
|
|||
56
PrimaGod
16.06.21
✎
10:18
|
(54) Уже понимаю что вы правы
|
|||
57
Mikeware
16.06.21
✎
10:26
|
(55) я не понял, кто на ком стоял, но:
1. переведите число в двоичную систему в виде строки (задача, в общем, из шктолького курса). "посимвольно"("поциферно") или "все число сразу" - решать вам. для решения безразлично 2. сделайте макет , в котором две секции, заштрихуеваная для "единицы", незаштрихуеванная для "нуля" 3. получая в цикле каждый символ этой строки из п.1, присоединяйте секцию из п.2. в зависимости от полученного символа. 4. выведите готовый табдок. усё |
|||
58
PrimaGod
16.06.21
✎
10:28
|
Итог- помощи от сюда не видать. Спасибо тем кто отвечал. (
|
|||
59
PrimaGod
16.06.21
✎
10:29
|
(57) Спасибо
|
|||
60
Mikeware
16.06.21
✎
10:47
|
(58) помогли более чем. Остались мелочи - написать код. реально..
|
|||
61
Irbis
16.06.21
✎
11:42
|
(45) За 300 рублей здесь даже чихать не станут. Пару нулей добавишь справа, может быть задумаются.
|
|||
62
Irbis
16.06.21
✎
11:43
|
(51) Зарекалась свинья в грязь не лезть.
|
|||
63
NorthWind
16.06.21
✎
12:04
|
(58) когда вы сюда пришли, вы вообще понятия не имели что и как делать. Вам разжевали задачу, показали инструменты. Осталось только по готовому описанию, по шагам, сесть и сделать. За триста рублей тут никто не будет этим заниматься, потому что такая работа стоит дороже. За полторы-две тысячи еще может возьмется провинциал какой-нибудь, у которого работы мало в течение дня.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |