Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 01:27

1С Управление Производственным Предприятием (Размер Штрих-Кода)

Автор Артём Игоревич, 07 июн 2016, 10:33

0 Пользователей и 1 гость просматривают эту тему.

Артём Игоревич

Доброго времени суток.Проблема такова.Заказчик просил вывести штрих код на каждый док-т своего предприятия.Сделал, но появилась новая проблема - размер штрихкода.
Не устраивает его размер...Слишком большой.ТипКода - Code128(довольно массивный), но другие типы не принимает. Пробовал менять размер,сжимать, но тогда принтер начинает смазывать.Как можно решить данную проблему и можно-ли её решить?

mixqn

Сколько символов в штрихкоде? И какого размера он получается (хотя бы примерно).
Я точных требований по размерам не встречал, но общий принцип такой: если места мало, то нужно стараться уменьшать длину ШК (в смысле количество символов).

Артём Игоревич

Цитата: mixqn от 07 июн 2016, 10:39
Сколько символов в штрихкоде? И какого размера он получается (хотя бы примерно).
Я точных требований по размерам не встречал, но общий принцип такой: если места мало, то нужно стараться уменьшать длину ШК (в смысле количество символов).
32. цифры + буквы
Уменьшил до 20 т.к последние 12 идентичны. Возможно нужно в коде прописать преобразование кода к EAN13 , но , пока даже приблизительно не понимаю, как это сделать  :dfbsdfbsdf:

.........
ШК = Строка(СсылкаНаОбъект.УникальныйИдентификатор());             
Рисунки.D1.Объект.Сообщение = СтрЗаменить(ШК,"-001e67a05869","");  //отладка, в гуиде документов задана на производство одинаковая часть  -001e67a05869
.........
(таким образом получаю ШК типа : e70a95a3-dba9-11e5-8825

mixqn

EAN13 то вам зачем?
разбирайтесь с лишними символами. измените алгоритм формирования ШК. сделайте его коротким. и только цифры! сейчас немного не досуг искать подтверждение этой информации, но на сколько я помню по памяти, буква при кодировании занимает в 2 раза больше места, чем цифра (в 2 раза больше штрихов надо). не уверен в правильности этого утверждения, поищите в интернете, мне немного некогда сейчас.
Добавлено: 07 июн 2016, 11:15


на прошлом месте работы я решал проблему штрихкодирования документов следующим образом: создал регистр сведений "штрихкоды документов" с единственным измерением - "штрихкод" типа строка и ресурсом составного типа - ссылки на разные виды документов. такая архитектура гарантировала уникальность каждого ШК для документов любого вида. этот подход более универсален, чем например пытаться зашифровать в ШК вид документа, его номер, дату и организацию - при таком подходе метод не универсальный, громоздкий и сам штрихкод очень длинный - я встречал такие подходы.
для формирования ЧИСЛОВОГО ШК я использовал GUID документа, выбрасывал из него все буквы и тире, оставлял только цифры, если цифр вдруг меньше нужной длины ШК - добивал остаток нулями, затем полученный ШК запросом проверял на уникальность в регистре, если уникален - отлично, берем его, если нет - генерируем случайный GUID, пропускаем его через тот же алгоритм обработки и так до тех пор, пока не подберем уникальную комбинацию символов. за время моей работы в той конторе случайный GUID ни разу не пригодится, всегда хватало GUID-а ссылки документа


mixqn

открыл конфу с прошлой работы, вот вам готовая функция

Функция ПодготовитьШтрихКодИзGIUDа(фGIUD, фДлина = 12)

фШтрихКод = фGIUD;

фШтрихКод = СтрЗаменить(фШтрихКод, "-", "");
фШтрихКод = СтрЗаменить(фШтрихКод, "a", "");
фШтрихКод = СтрЗаменить(фШтрихКод, "b", "");
фШтрихКод = СтрЗаменить(фШтрихКод, "c", "");
фШтрихКод = СтрЗаменить(фШтрихКод, "d", "");
фШтрихКод = СтрЗаменить(фШтрихКод, "e", "");
фШтрихКод = СтрЗаменить(фШтрихКод, "f", "");

фШтрихКод = Лев(фШтрихКод, фДлина);

// на случай, если штрихкод оказался меньше нужной длины, дополняем его ведущими нулями
Пока СтрДлина(фШтрихКод) < фДлина Цикл
фШтрихКод = "0" + фШтрихКод;
КонецЦикла;

Возврат фШтрихКод;

КонецФункции //ШтрихКодНовый()

Добавлено: 07 июн 2016, 11:59


как видно, по умолчанию использовалась длина 12 символов. этого хватало. вы можете подобрать свое значение

Похожие темы (5)

Рейтинг@Mail.ru

Поиск