Принтер этикеток и 1с Мобильная платформа

1. vasiliy_09_05 6 08.09.20 08:40 Сейчас в теме
Доброго времени суток Дамы и Господа.
Прошу Вашей помощи.
Имеется принтер этикеток TSC Alpha-3RB.
Хочу написать мобильное приложение, для возможности печати этикеток нужного мне шаблона.
Возникла проблема, как подключить и передать данные на принтер. Сопряжение я выполняю, но последующие действия для печати никак не могу найти.
Если не трудно, подскажите, где я могу найти об этом информацию.
Смотрел в сторону Библиотека подключаемого оборудования мобильная платформа, но там поддержка данного устройства не указана :(
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user958326 08.09.20 17:09 Сейчас в теме
(1)
Спрашивать производителя, какая поддержка драйверов и на какие платформы у данного принтера этикеток
10. pavel06 2 13.12.20 17:20 Сейчас в теме
(1)
Сопряжение я выполняю,


А как Вы сопрягаете? Только что ведь из утилиты печатало.
3. starik-2005 3039 08.09.20 23:39 Сейчас в теме
Alpha-3R
• IP54-rated protective case to resist dust and water
• Plastic design with rubber over-mold construction that withstands 5 ft. (1.5 m) drop
• Wired & wireless communication interfaces: USB 2.0, RS-232, Bluetooth, and 802.11 a/b/g/n
• High capacity 2500 mAh rechargeable Lithium Ion batteries
• Large Paper capacity to reduce the frequency of changing paper roll
• High-speed processor and extensive memory for fast print speeds of up to 4" (102 mm) per second
• Last more than 30 hours of printing receipts on a single battery charge
Supports TSPL-EZ (EPL2 and ZPL emulations), ESC-POS or CPCL emulation
• 2-Year Warranty

https://support.zebra.com/cpws/docs/eltron/epl2/EPL2_Prog.pdf
Вот, кстати, про ZPL.
4. vasiliy_09_05 6 14.09.20 06:35 Сейчас в теме
Благодарю всех откликнувшихся!
Буду читать мануалы, спасибо большое еще раз!
5. vasiliy_09_05 6 13.12.20 10:32 Сейчас в теме
Все таки никак не могу добить печать :(
Решил использовать мобильную кассу - через стандартные драйвера происходит подключение, но когда отправляю команду на языке принтера, вижу, что индикатор BT моргает, то есть принтер получает данные, но ничего не печатает.
Пробовал через типовой механизм "Напечатать" ТабДока, подключение производиться, но принтер сигнализирует об остановки печати. :(
Аналогичная ситуация и с 1С:Библиотека подключаемого оборудования для мобильных приложений.
Может быть как то я могу напрямую отправлять текст на принтер?
А то я уже всю голову сломал, как подружить Моб платформу и принтер :(
6. laperuz 46 13.12.20 14:18 Сейчас в теме
(5) А вообще с телефона печатать можете из других приложений? Посмотрите на 8.3.18, там реализовали печать на принтеры средствами системы, возможно стоит в эту сторону посмотреть.

В сборщике приложений в группе приложений ищите:
Поле Режим печати позволяет указать, какой способ печати будет использовать собираемое мобильное приложение. Это поле задается как в сборщике (описываемое поле), так и в свойствах информационной базы на мобильном устройстве. Приоритет имеет настройка, установленная в свойствах информационной базы. Каждая настройка может быть установлена в одно из следующих значений:

● Авто ‑ в этом случае режим печати выбирается автоматически:

● Если из приложения на устройстве ранее выполнялась печать встроенными средствами приложения ‑ будет продолжено использование этого способа печати.

● Иначе будет использовать печать средствами устройства.

Рекомендуется указывать это значение по умолчанию.

● Средствами устройства ‑ используется печать с использованием инструментов мобильной операционной системы, под управлением которой работает мобильное приложение. Печать выполняется на принтерах, которые поддерживает мобильная операционная система. При сборке приложений рекомендуется использовать этот способ печати в том случае, если собирается новая версия мобильного приложения, которое ранее выполняло печать встроенными средствами приложения, а теперь надо изменить для него режим печати.

● Встроенными средствами приложения ‑ в этом случае используется печать на принтерах, которые поддерживают языки PCL3 и ZPL. Печать выполняется только на поддерживаемых моделях принтеров. При сборке приложения рекомендуется указывать данный режим печати в том случае, когда у потребителей мобильного приложения имеется парк принтеров, совместимых с мобильной версией «1С:Предприятие» и эти принтера не поддерживаются используемой мобильной операционной системой.
Показать
7. vasiliy_09_05 6 13.12.20 14:29 Сейчас в теме
Добрый день.
Да, из стандартной утилиты TSC Mobile Utility печать производиться.
Кроме того, поставил тестовую версию приложения RS: Mobile ACS «1С:Мобильная торговля» (мобильная конфигурация), так же печать идет.

"Посмотрите на 8.3.18, там реализовали печать на принтеры средствами системы, возможно стоит в эту сторону посмотреть." - до сборки еще не доходил. Пытаюсь распечатать из-под мобильной платформы.
Насколько я понимаю - это и есть печать ТабДока. В данном случае принтер зависает с индикацией "печать остановлена".

То есть типовыми драйверами 1С отправляет на печать, но принтер не понимает полученную команду, при печати типовыми средствами платформы принтер "зависает".

Вот и не могу найти способ, при котором 1С отправляет только структуру, которая понятна принтеру, а не форматирует комаенду или средствами драйвера, или средствами самой платформы :(
8. laperuz 46 13.12.20 15:00 Сейчас в теме
(7) Т.е. у вас сейчас мобильное приложение опубликовано на веб-сервере?
Поставьте мобильную платформу 8.3.18 на устройство и там в меню Сервис и настройки - Настройки будет 2 варианта печати на принтер. Попробуйте, возможно смена варианта поможет без бубна напечатать.
9. vasiliy_09_05 6 13.12.20 16:23 Сейчас в теме
К сожалению не помогло :(
Отправляю через утилиту TSC, и опять молчок, принтер не печатает :(
11. vasiliy_09_05 6 13.12.20 17:29 Сейчас в теме
Немного не верно выразился.
Вот ссылка на видео, как это сейчас происходит.
https://www.youtube.com/watch?v=L7pOVk7EgvM
То есть я могу выбрать что печатать, картинка попадает в утилиту, и печать происходит через утилиту.
Это очень не удобно, так как печать идет не напрямую, из 1С, а через посредника в виде TSC Mobile Utilites.

То есть печать есть, но печать отправляется не из самой 1С.

Накопал еще интенты программы, возможно получиться сделать через них
https://www.tscprinters.com/EN/DownloadFile/readpdf/support/2677/Android_SDK_instruc­tion_E.pdf?file_type=0

Но пока работающего варианта не нашел :(
12. vasiliy_09_05 6 14.12.20 11:36 Сейчас в теме
Нашел на просторах интернета форум, в котором пользователь упомянул, что написал java-прослойку между 1С и принтером.
Связался с ним, попросил apk, через данное приложение через intent'ы все печатает.

В общем способ печати нашел :)

Всем откликнувшимся спасибо огромное :)
13. serg33rus 28 14.12.20 11:56 Сейчас в теме
(12) Это здорово. Но хоть адресочек форума или пользователя. Чтобы если вопрос возникнет заново весь квест не проходить.
14. vasiliy_09_05 6 14.12.20 14:37 Сейчас в теме
http://axforum.info/forums/showthread.php?t=54624
Пользователь: Ace of Database

Не знаю, имею ли я право сбрасывать apk :)

Думаю если нужно будет кому сброшу :)
15. sem636 11.01.21 19:08 Сейчас в теме
Добрый день, столкнулся с той же проблемой.
Можете сбросить лс?
(14)
16. oleg9x 03.03.21 17:16 Сейчас в теме
(14) Скиньте пожалуйста apk, устал уже ковыряться...
17. Gluk 18 04.04.21 15:51 Сейчас в теме
Добрый день. Скиньте пожалуйста apk, попробую
18. vasiliy_09_05 6 05.04.21 06:19 Сейчас в теме
Доброго времени суток, прошу прощения, что не отвечал - завал на работе
My Webpage

Ниже переписка с автором приложения

Скрытый текст


КомандыДляПечати = "TEXT 400,590,""4"",180,1,1,2,"""+Строка(Номенклатура)+""""+Символы.ПС+"
        |TEXT 400,550,""4"",180,1,1,2,"""+Строка(Характеристика)+""""+Символы.ПС+"
        |QRCODE 300,310,H,9,A,0,M2,S7,\"""+Штрихкод+""""+Символы.ПС+"
        |TEXT 400,290,""4"",180,1,1,2,"""+Штрихкод+""""+Символы.ПС+"
        |TEXT 400,260,""4"",180,1,1,2,""Коробок на паллете: "+Строка(МасСтр[0].КоличествоКоробокПринятое)+""""+Символы.ПС+"
        |TEXT 400,220,""3"",180,1,1,2,""Единицы измерения "+Строка(МасСтр[0].ЕдиницаИзмерения)+" "+Строка(МасСтр[0].КоличествоПринятое)+""""+Символы.ПС+"
        |TEXT 400,180,""2"",180,1,1,2,""ИД "+СтрЗаменить(Строка(ИД)," ","")+" "+Док+""""+Символы.ПС+"
        |TEXT 400,150,""2"",180,1,1,2,""Склад хранения:  "+Склад+""""+Символы.ПС+"
        |TEXT 400,120,""2"",180,1,1,2,""Кладовщик: "+ФИОКладовщика+""""+Символы.ПС;

        Если ЗначениеЗаполнено(КомандыДляПечати) Тогда
            //Сообщить(КомандыДляПечати);
            БылаПечатьЭтикетки = Истина;
            НовВз = Новый ЗапускПриложенияМобильногоУстройства();
            НовВз.ДополнительныеДанные.Добавить("com.example.tscsample.PrintData", КомандыДляПечати);
            НовВз.Приложение = "com.example.tscsample";
            НовВз.ИмяКласса = "com.example.tscsample.DeviceListActivity";
            НовВз.Запустить(Ложь);
        Иначе
            ПоказатьПредупреждение(, "Команды для печати этикетки не были сформированы!");
            Возврат;
        КонецЕсли; 
Показать
Йожкин Кот; +1 Ответить
19. nikatysel 09.04.21 14:04 Сейчас в теме
Добрый день, можно мне тоже апк?
20. vasiliy_09_05 6 09.04.21 15:40 Сейчас в теме
(19) Предыдущий пост. Ссылка "My Webpage"
21. kinan 34 19.04.21 04:03 Сейчас в теме
Печать из 1С у меня получается при сохранении печ.формы в файл в формате "PDF". При этом должен быть установлен драйвер печати. Например Mopria.

https://play.google.com/store/apps/details?id=org.mopria.printplugin&hl=ru&gl=US

Как только я сохраняю файл на диск, mopria сразу же открывается сама с предпросмотром и параметрами печати. Но это если принтер обыкновенный, А4.

Был случай когда передо мной стояла задача печатать что-либо на встроенный прямо в ТСД термопринтер из мобильного приложения 1С. Тут уже фирма производитель ТСД предоставляла демо-программку наподобие той что в видео и СДК с исходниками той программки на java. Суть сводилась к тому, что принтеру надо дать одну из предопределённых команд - "печать картинки" (и картинку подать на вход), "печать штрихкода" (с указанием типа штрихкода и его содержимого), "печать текста" (тут указывался текст, его позиция на бумаге, наклон, жирность, шрифт), "прогон бумаги" (с указанием на сколько строк). В общем, в конце концов, для конкретно этого принтера, встроенного в ТСД, была написана внешняя компонента для мобильной платформы, с элементами кода на java, реализующая функции описанные в СДК. Думаю, что этот термопринтер тоже потребовал такого подхода - программа принимающая на вход команду из 1С и на выходе выдающая результат на принтер посредством работы с СДК производителя.
22. vasiliy_09_05 6 20.04.21 07:23 Сейчас в теме
(21) Доброго времени суток.
Все верно. В андроиде этот функционал называется интенты (намерения).
ПО оборудования висит в системе в виде служб (демонов, если их называть именами Linux) и ждет внешней команды.
НовВз = Новый ЗапускПриложенияМобильногоУстройства();
НовВз.ДополнительныеДанные.Добавить("com.example.tscsample.PrintData", КомандыДляПечати);
НовВз.Приложение = "com.example.tscsample";
НовВз.ИмяКласса = "com.example.tscsample.DeviceListActivity";
НовВз.Запустить(Ложь);


Кодом выше 1С отправляет именно такую команду в ПО, которое уже и отправляет команду на устроство.
В данном случае как раз у меня и была проблема в поиске это "прослойке" между 1С и принтером.

Поэтому, если производитель не позаботился о программном обеспечении приходиться или искать стороннее ПО, или писать ПО самому. Для мобильных касс мне самому приходилось написать такую прослойку на Android Studio, но, так как я ява язык не знаю, это заняло довольно много времени и услилий.

По поводу Mopria и подобных им - такую идею сразу отмел по двум причинам: 1) Для печати приходиться выполнять много телодвижений (выходит окно Mopria, печать и т. д.), 2) В таких программах может возникать проблема с размерами картинки (несколько раз сталкивался, что табдок имеет определенные размеры, а при печати размеры меняются в большую или меньшую сторону).

Но спасибо большое за Ваш опыт работы в подобных ситуациях :)
25. Nastyok_Kur 16.09.22 13:38 Сейчас в теме
(22) Спасибо огромное, что поделились!!! Работает на ура!
Но - у меня перед печатью открывается окошко со списком принтеров (DeviceListActivity), так и должно быть? как-то можно добиться, чтоб оно не открывалось?
23. kinan 34 20.04.21 18:27 Сейчас в теме
Я это к тому, что люди у Вас просят волшебный апк-файл, но им должно быть известно что он спасёт только тех кто имеет дело с таким же принтером. Вы сделали AccessibilityService - вещь годная. Висит себе резидентно, когда нужна - срабатывает. А если клиент берёт какой-нибудь условный xiaomi, я не знаю что с ними не так, но эти телефоны рано или поздно убивают такого-рода процессы. Да, потом появляются заявления от производителей устройств что их телефоны с батареей на 3500 mA живут неделю без подзарядки, и нигде не упоминают, что цена вот такая - вырубить всё, что не их. Я уже наперёд интересуюсь у заказчиков на чём они планируют работать, и рекомендую, пусть может самые дешёвенькие, но честные самсунги, тогда нормально оформить драйвер в виде резидентного сервиса. А когда хотят сидеть на китайфонах, предлагаю драйвер делать в виде внешней компоненты под мобильную платформу, что существенно сложнее.
24. semenovilyaa 05.05.21 17:26 Сейчас в теме
Была проблема с принтером этикеток Datamax-O'Neil E-4206P Mark III . Не мог средствами 1С отправить на печать этикетку через сеть из мобильного приложения 1С (ТСД Urovo i6200S). Выставлял IP - адрес , порт , формат ZPL. Принтер задумывался и выдавал ошибку, что принтер недоступен.

Оказалось, что в настройках по умолчанию принтер принимал данные только в формате DPL (своем родном).
Переключил в настройках "Input mode" в режим "Auto" и все заработало.

Может кому поможет =) Удачи.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот