|
Вывод печати этикеток УТ 10.3 | ☑ | ||
---|---|---|---|---|
0
pin4er
16.08.13
✎
17:56
|
Доброго времени суток.
Так как опыта пока маловато, не судите строго, а лучше совет дайте дельный. Дело вот какое: я добавляю в номенклатуру ШК считав сканером, все ок программа не ругается при записи. Далее перехожу в обработку "ПечатиЭтикеток" и пытаюсь распечатать и вот тут начинается: если ШК большой 13 значный то все ок выводит на просмотр и печатает... http://s1.ipicture.ru/uploads/20130816/CuTSoF6s.png а геморрой возникает если ШК 5ти значный, то по нажатию на печать "У товара ШК не задан или имеет не верный формат".... http://s2.ipicture.ru/uploads/20130816/MsVjU2Tl.png может кто то знает решение данной проблемы? кто то сталкивался с такой проблемой? или подскажите возможно ли как нибудь сделать чтоб вместо ШК он мне тогда только цифры на печать выдавал (может так решиться проблема) |
|||
1
viktor_vv
16.08.13
✎
18:01
|
Попробуй тп штрихкода выбрать EAN13 в явном виде. Хотя там вроде для всех видов проверяется.
|
|||
2
pin4er
16.08.13
✎
18:03
|
(1) да там 13 и выбран, при сканировании сам проставляется, если менять на другой руками то ни чего не меняется...
|
|||
3
pin4er
16.08.13
✎
18:05
|
(2) в обработке там тоже 13 проставлял реакция аналогичная
|
|||
4
viktor_vv
16.08.13
✎
18:06
|
Не поможет. Там проверяется на длину штрихкода и контрольный символ
// Функция возвращает результат проверки строки на предмет соответствия // штрихкоду формата EAN13. // // Параметры: // Штрихкод - <Строка> // - Проверяемый штрихкод. // // Возвращаемое значение: // <Булево> - Результат проверки. // Функция ТипШтрихкодаEAN13ТО(Штрихкод) Экспорт Результат = (СтрДлина(Штрихкод) = 13 И КонтрольныйСимволEAN13ТО(Штрихкод) = Прав(Штрихкод, 1)); Возврат Результат; КонецФункции // ТипШтрихкодаEAN13ТО() |
|||
5
viktor_vv
16.08.13
✎
18:07
|
Можешь конечно закомментировать проверку штрихкода, на печать по идее выйдет.
Ну тут ХЗ че получится. Если РаботаСТорговымОборудованием.ПроверитьШтрихКод(?(ПустаяСтрока(СтрокаИзСписка.ПредставлениеШтрихкода), СтрокаИзСписка.Штрихкод, СтрокаИзСписка.ПредставлениеШтрихкода), СтрокаИзСписка.ТипШтрихкода) Тогда |
|||
6
pin4er
19.08.13
✎
09:54
|
(4) (5) нет комментирование проверки не прокатило, все равно не хочет выводить на печать...
получается он сам ШК(палочки) сформировать наверно не может.. а в принципе если вместо ШК и №кода, выводить только №КОД(циферки, потом я уже не буду по сути не буду его повторно считывать, на крайний случай в УТ есть стандартная поиск по ШК) Как это лучше реализовать? гнать в туже картинку или нет? справки по картинке ШК не открывается, вылетает БД... |
|||
7
pin4er
19.08.13
✎
12:40
|
Нашел на инфостате http://infostart.ru/public/118531/
думаю право обладатель не обидеться что воспользуюсь кодом=)) перем Ф; Процедура КнопкаВыполнитьНажатие() Ф = Новый Массив(12); Код12 = "4601701" + НашКод;//Здесь дополним наш 5 значный код до 12 знаков. Типа - страна: Россия (46)и последние 5 цифр ИНН предприятия //Получаем контрольую цифру Рез1 = Число(Сред(Код12,2,1)) + Число(Сред(Код12,4,1)) + Число(Сред(Код12,6,1)) + Число(Сред(Код12,8,1)) + Число(Сред(Код12,10,1)) + Число(Сред(Код12,12,1)); Рез2 = Рез1 * 3; Рез3 = Число(Лев(Код12,1)) + Число(Сред(Код12,3,1)) + Число(Сред(Код12,5,1)) + Число(Сред(Код12,7,1)) + Число(Сред(Код12,9,1)) + Число(Сред(Код12,11,1)); Рез4 = Число(Рез2 + Рез3); Если Рез4 > 10 Тогда ЭлементыФормы.КЦифра.Значение = 10 - Число(Прав(Рез4,1)); ИначеЕсли Рез4 < 10 Тогда ЭлементыФормы.КЦифра.Значение = 10 - Рез4; ИначеЕсли Рез4 = 10 Тогда ЭлементыФормы.КЦифра.Значение = 0; КонецЕсли; Код12 = Формат(Число(Строка(Код12) + Строка(ЭлементыФормы.КЦифра.Значение)), "ЧГ=0"); Результат = КодируемШтрихКод(Код12); КонецПроцедуры Функция КодируемШтрихКод(Код12) ПечШтрих=""; Код=Код12; Ф[1]="000000"; //0 Ф[2]="001011"; //1 Ф[3]="001101"; //2 Ф[4]="001110"; //3 Ф[5]="010011"; //4 Ф[6]="011001"; //5 Ф[7]="011100"; //6 Ф[8]="010101"; //7 Ф[9]="010110"; //8 Ф[10]="011010"; //9 Маска=""+Лев(СокрЛП(Код),1)+Ф[Число(Лев(СокрЛП(Код),1))+1]+"222222"; Дл=СтрДлина(Код); Для ИИ=1 По Дл Цикл Если ИИ=1 Тогда Стр1=""+Лев(СокрЛП(Код),1); Иначе //ИИ от 2 до 13 СимволМаски=Сред(Маска,ИИ,1); Если СимволМаски="0" Тогда Стр1=Символ(65+Сред(Код,ИИ,1)); ИначеЕсли СимволМаски="1" Тогда Стр1=Символ(75+Сред(Код,ИИ,1)); ИначеЕсли СимволМаски="2" Тогда Стр1=Символ(97+Сред(Код,ИИ,1)); КонецЕсли; КонецЕсли; ПечШтрих=ПечШтрих+Стр1; Если ИИ=7 Тогда ПечШтрих=ПечШтрих+"*"; ИначеЕсли ИИ=13 Тогда ПечШтрих=ПечШтрих+"+"; КонецЕсли; КонецЦикла; Возврат ПечШтрих; КонецФункции Процедура ПриОткрытии() ЭлементыФормы.НашКод.Значение = "10001"; КонецПроцедуры если внедрить обработку ШК в типовую обработку может же прокатит? или потом печать сломаться может чтонить? или решать проблемы уже по мере поступления=)) |
|||
8
pin4er
20.08.13
✎
15:12
|
что то пока не разобрался, хурма какая то твориться....
может есть еще какие предложения как можно реализовать вывод на печать 5ти значного ШК? может у кого обработка завалялась внешняя? |
|||
9
probably
21.08.13
✎
13:27
|
Тип штрих-кода попробуй иной. EAN8, например.
Я выводил короткие коды, но длину не помню. Возможно как раз 8. Или code128 может подойдет. |
|||
10
Torquader
21.08.13
✎
14:35
|
Пятизначный - достаточно сложно - нужно CODE128 переводить в режим символов - тогда можно будет записать пять символов, среди которых только цифры.
Не уверен, что элемент печати Штрих-кодов для 1С (Barcode.OCX) умеет правильно печатать CODE128. Если не выйдет, тогда сделать 6 цифр и напечатать как CODE39 - у этого кода всегда чётное число цифр, и первым будет добавлен ноль. Более интересный вопрос - что вы потом с ними делать будете ? P.S. делал Штрих-коды на основе кода товаров, потом пришлось править обработки штрих-кодов, чтобы этот товар подбирался в документы (но делал префикс 22 и EAN13, так как обработка другие типы штрих-кодов просто не знает). |
|||
11
pin4er
22.08.13
✎
11:15
|
Вообщем, убрал все рисунки печати ШК, отключил проверки,
сделал вывод в ОбластьШтрихкод.Текст = СтрокаИзСписка.Штрихкод; вообщем выводит вот так: http://s2.ipicture.ru/uploads/20130822/yL6uWIaW.png в принципе все устраивает, только одно но! если я отправляю на печать от 2х и более количество ШК сразу, то печатается на 1-м, потом на 11, 21, 31, и тд.. пропуская по 9 чистых на 10том печатая подскажите где чего посмотреть надо? (макет взят типовой из "Общие - Общие макеты - Этикетка", настройки из "Обработки - ПечатьЭтикеток" не менял). |
|||
12
pin4er
22.08.13
✎
11:20
|
(10) насчет того что мы будем с ними делать.
то нам приходят объекты со вложенными к ним ШК 5ти значным ШК, их надо со сканировать и вывести на печать, после клеить на объект. |
|||
13
probably
22.08.13
✎
11:21
|
(11) смысл в коде без штрихового представления?
|
|||
14
pin4er
22.08.13
✎
11:25
|
(13) ну тут хозяин барин, сказали что хотят вот так..
а для себя будет свободное время, попробую все таки вывести 5ти значный ШК на печать |
|||
15
pin4er
04.09.13
✎
14:12
|
Все разобрались, все ок работает!
всем спасибо за помощь! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |