Вход | Регистрация


1С:Предприятие ::

Метки: 

Zebra. Печать на этикетках разного размера из 1С.

Я
   prozex
 
15.02.18 - 13:28
Всем добра, друзья!
Прошу помощи, ибо своими силами за 4 дня решить вопрос не смог.
Суть проблемы такова.
Имеем торговый объект, в котором все товары облепляются бумажульками стандартного размера 58х40 со штрих-кодами. Печатаем их на аппарате Zebra LP 2824 Plus. УТ 10.3. Возникла необходимость печатать еще и на бумажульках размеров 29х20. И все хорошо работает, если эти размеры (58х40 или 29х20) указывать и непосредственно в настройках драйвера принтера, и в самой обработке печати штрих-кодов в 1С. Если же нужный размер этикетки указывать только в 1С, не меняя его при этом в настройках драйвера, то либо на маленькой бумажке печатается часть большого штрих-кода, либо на большой бумажке печатается маленьких штрих-код, не занимающий её всю (такой же по размерам, как и на маленькой). Беда в том, что печатают эти штрих-коды продавцы в магазине. И пускать их в настройки драйвера никак нельзя. Иначе там такого наворочают, что придется ехать в магазин, все исправлять.
Пытался отыскать в самой Windows файл, в котором хранились бы текущие настройки драйвера Зебры, дабы из 1С программно его менять - не нашел. В реестре искал - результат тоже отрицательный. Наладил возможность отправки файла с кодом на языке ZPL непосредственно на принтер. Какой-нибудь текстик напечатать таким способом получается. А вот изменить размеры этикетки не удается. Комманда ^PW, задающая ширину страницы не дает желаемого эффекта (отправляю код на принтер: ^XA ^PW228 ^XZ), возможно, из-за неверного её применения, примеров в сети её использования не попадалось.
Итак, я прошу помощи. Как мне добраться программно до этих настроек ширины и высоты этикетки?
 
 
   d4rkmesa
 
1 - 15.02.18 - 13:52
(0) А если не выбирать образец при печати из 1С, оставить по умолчанию (А4, к примеру)? Также, можно задавать в табличном документе ИмяПараметровПечати /
КлючПараметровПечати разное, для разных образцов, чтобы запоминались настройки. Напрямую выбирать образец вроде нельзя, к сожалению. Насчет печати напрямую на ZPL - достаточно сложная тема, ничего работающего, как нужно было, в свое время не нашел.
   prozex
 
2 - 15.02.18 - 14:02
(1) , если оставить А4, то принтер на первой этикетке печатает штрих-код, а потом прогоняет столько пустых этикеток, чтобы их суммарная высота была равна высоте формата А4.
   Базис
 
3 - 15.02.18 - 14:09
Сделай столько принтеров в винде, сколько размеров этикеток. В каждом задай параметры, и программно выбирай, на какой принтер печатать.
   prozex
 
4 - 15.02.18 - 14:12
(3), не понял. Что значит "сделать принтер в винде"? Установить виртуальный принтер и с него как-то перенапрявлять все в Зебру? Или просто физически установить в магазине две Зебры, чтобы на одной печатать 58х40, а на другой 29х20?
   aleksonic
 
5 - 15.02.18 - 14:12
Второй принтер нужно ставить.
Программно как заменить барабан с этикетками?
   prozex
 
6 - 15.02.18 - 14:14
(5), второй принтер совсем не хочется ставить. Еще одна Зебра стоит около 15к. Всего 3 магазина. Итого 45к отдать. Не хотелось бы...
   prozex
 
7 - 15.02.18 - 14:15
(5), а барабан с этикетками поменяют. Это не сложно.
   d4rkmesa
 
8 - 15.02.18 - 14:19
(2) Это особенность печати этикеток в УТ10 вроде, сделай свою обработку печати или переделай немного. Только что проверил, удалил настройки табличного документа, в поле Размер в параметрах страницы стоит User defined, нормально вышел на печать этикетки 10*12 см.
   Базис
 
9 - 15.02.18 - 14:20
Ты можешь сделать в винде сколько угодно принтеров на один физический.
   aleksonic
 
10 - 15.02.18 - 14:21
(7) Если не сложно, то настройками все из 1с решается.
Была проблема с этикетками от поставщика в двух видах: с горизонтальным и вертикальным расположением. Решалось настройками из обработки печати. Пользователи лишь ставили в форме обработки галку например "Горизонтальная этикетка".
 
 Рекламное место пустует
   d4rkmesa
 
11 - 15.02.18 - 14:27
(8) Попробовал воспользоваться стандартной обработкой "Печать этикеток": формат "Принтер этикеток", указал ширину и высоту, а далее вывел табличный документ и распечатал на Зебре без выбора образца, размер - User Defined. Нормально распечаталось.
   prozex
 
12 - 15.02.18 - 14:31
(9), с обособленным экземпляром драйвера для каждого из них?
   prozex
 
13 - 15.02.18 - 14:33
(11), "без выбора образца" - тут о каком образце идет речь? Нигде не вижу каких бы то ни было образцов...
   Kigo_Kigo
 
14 - 15.02.18 - 14:36
попробуйте убрать галку- использовать настройку дравейра, в дровах зебры
   prozex
 
15 - 15.02.18 - 14:40
(8), у меня УТ 10.3.18.3. Стандартная обработка печати этикеток 1С. В настройках драйвера стоит ширина 56, высота 40. В обработке в 1С: Формат - принтер этикеток, Размеры: 29х20. Нажимаю "Печать". Появляется таб. поле со сформированной этикеткой. Далее Файл->Параметры страницы. Там: Размер - User defined, Формат - Manual feed, Масштаб - изменение этого параметра не влияет никак, Принетр - сама Зебра. Печатаю. Итог: На этикетке 58х40 в верхнем левом углу получаю напечатанный штрих-код размером 29х20.
Что не так сделал?
   prozex
 
16 - 15.02.18 - 14:42
(14), нет такой галки. Драйвер 5.1.07.5146.
   d4rkmesa
 
17 - 15.02.18 - 14:44
(15) Надо попробовать почистить сохраненные настройки печати этикетки. У вас все равно подбирается из настроек.
   d4rkmesa
 
18 - 15.02.18 - 14:46
(15) При выводе табличного документа видно, что штрих-код масштабируется под размер? УТ стандартная?
   prozex
 
19 - 15.02.18 - 14:46
(17), с радостью. Как это сделать?
   Базис
 
20 - 15.02.18 - 14:48
Напиши мне в почту (в карточке видна), если до ночи не справишься. Решу вопрос, но дорого.
   prozex
 
21 - 15.02.18 - 14:48
(18), при выводе таб. документа видна, что штрих-код имеет размеры, которые заданы в обработке 1С (29х20). Но размеры бумаги берутся из настроек драйвера.
   Kigo_Kigo
 
22 - 15.02.18 - 14:49
   d4rkmesa
 
23 - 15.02.18 - 14:49
(21) Email засвети, или напиши мне, вышлю обработку очистки настроек пользователя.
   d4rkmesa
 
24 - 15.02.18 - 14:51
(22) Кстати да, может и в этом дело.
   prozex
 
25 - 15.02.18 - 14:51
(22), какая версия драйвера? У меня совсем иначе все выглядит.
   Vladal
 
26 - 15.02.18 - 14:52
(9) (12) Мы создавали разные форматы и при печати просто выбирали формат этикетки. Никаких "дублей виртуальных принтеров" и т.д.
   prozex
 
27 - 15.02.18 - 14:54
(20), хорошо.
   prozex
 
28 - 15.02.18 - 14:54
(23), засветил.
   prozex
 
29 - 15.02.18 - 15:12
(3) и (9) сделал. Для каждого принтера в системе создается свой объект драйвера, не зависящий от другого. Таким образом, нужно для каждого размера этикетки выбирать нужный принтер с соответствующими настройками драйвера. Тогда все работает так, как требуется с обязательным действием со стороны пользователя - указанием нужного принтера.
Спасибо.
   prozex
 
30 - 15.02.18 - 15:14
(22) Kigo Kigo, уточните версию драйвера? Если можно сделать все без создания доп. принтера в системе и выбора нужного принтера при печати, и уж тем более без отправки на принтер ZPL-кода для изменения ширины страницы, а просто установив другой драйвер, то было бы замечательно.
   Kigo_Kigo
 
31 - 15.02.18 - 15:21
5.1.07.5675
   prozex
 
32 - 15.02.18 - 15:25
(31), спасибо. Попробую поставить эту версию драйвера. Может, вообще вопрос решится одним принтером тогда.
   d4rkmesa
 
33 - 15.02.18 - 15:40
(32) Выслал на всякий случай, можно удалить настройки в 1С и поэксперементировать.
 
 
   prozex
 
34 - 16.02.18 - 12:35
(31), установил версию драйвера, в которой есть так галочка, о которой речь шла в (22) и (14). Установка/снятие этой галки никак не влияет на результат.
   prozex
 
35 - 16.02.18 - 12:35
(33), попробую. Отпишусь, чем дело закончилось.
   Йохохо
 
36 - 16.02.18 - 12:47
можно еще попробовать менять ИмяПараметровПечати под размер этикетки
   prozex
 
37 - 16.02.18 - 13:00
(36), обработка "Печать этикеток", процедура Печать(ТаблицаТоваров). В ней встречается ИмяПараметровПечати лишь раз:
Таб.ИмяПараметровПечати =     "ПАРАМЕТРЫ_ПЕЧАТИ_Этикетка"+СокрЛП(ИмяКомпьютера());
Более упоминаний нет. На что пытаться поменять?
   ejikbeznojek
 
38 - 16.02.18 - 13:01
(0) В настройках зебры же есть образцы.
https://prnt.sc/ifi8lg

Создай нужных размеров образец под каждую этикетку да и выбирай в 1С.
https://prnt.sc/ifi8zj

Только научи людей, что иногда при смене бумаги с 1го размера на другой, может потребоваться каллибровка.
   ejikbeznojek
 
39 - 16.02.18 - 13:02
(38) + соответственно имяпараметровпечати() свои нужны по каждому виду этикеток
   Йохохо
 
40 - 16.02.18 - 13:05
(37) "ПАРАМЕТРЫ_ПЕЧАТИ_Этикетка_58"+СокрЛП(ИмяКомпьютера()) "ПАРАМЕТРЫ_ПЕЧАТИ_Этикетка29"+СокрЛП(ИмяКомпьютера())
   Лодырь
 
41 - 16.02.18 - 13:37
(0) Из ZPL попробуй LL (Label Length) и LH (Label Height)
   prozex
 
42 - 16.02.18 - 14:36
(38) - годный вариант. Калибровка при смене бумаги нужна каждый раз.
   prozex
 
43 - 16.02.18 - 14:39
(41) - индикатор на Зебре мигает, но результата нет никакого.
   prozex
 
44 - 16.02.18 - 14:46
(33) спасибо. Но на результат это не повлияло.
   Kigo_Kigo
 
45 - 16.02.18 - 15:06
(42) По идее, после открытия и закрытия крышки- он калибруется сам, но бывает нужна и принудительная калибровка
   Йохохо
 
46 - 16.02.18 - 15:10
(42) берите бумагу с одинаковой подложкой, помойму калибруется не размер, а именно просвет
   1sanekmaloi1
 
47 - 16.02.18 - 15:16
(38) Дело говорит, точно так же шаблонов понаделал и польз только выбирает при печати нужный макет
   Rema Dan
 
48 - 16.02.18 - 15:33
(0) Самым надёжным решением было бы переписать печать полностью на EPL протокол. Ему совершенно всё-равно на размеры бумаги в принтере и скорость печати EPL значительно опережает печать табличного документа. Из минусов у EPL стоит отметить сложность кастомизации внешнего вида этикеток и необходимость перерисовывать все макеты на EPL.
   prozex
 
49 - 16.02.18 - 17:49
(45) Да, калибруется сам после пары нажатий на кнопку на аппарате, что весьма удобно.
(46) Подложка одинаковая, как и зазоры между этикетками. Видимо, калибровка учитывает не только зазоры.
(47) Да. Даже конфигурацию править не нужно в таком случае.
 
 Рекламное место пустует
   prozex
 
50 - 16.02.18 - 17:52
(48) Пожалуй, ультра-универсальное решение. Но и самое сложное. Хотя где-то в сети натыкался на статью, в которой ребята описывали, как они с помощью EPL на Зебре печатали чеки, как на АСПД.



Список тем форума
Рекламное место пустует Рекламное место пустует
Миста — веселый ресурс со своими эксклюзивными тараканами Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует