Программа разрабатывалась и тестировалась для печати этикеток на мобильный принтер Атол XP-323B (версия с bluetooth). Из мобильного приложения разработанного на 1С для ТСД Атол.Smart Lite c Android 7.
Для подключения по bluetooth с начало надо соединить ТСД с принтером затем выбрать его в приложении.
Для реализации печати в 1С нужно вставить код (для примера):
#Если МобильноеПриложениеКлиент Тогда
Приложение = Новый ЗапускПриложенияМобильногоУстройства();
КомандыДляПечати = "^XA" + Символы.ПС +
"^FO120,20" + Символы.ПС +
"T^A0N,25,25" + Символы.ПС +
"^FDThis is a ZPL test." + Символы.ПС +
"^FS" + Символы.ПС +
"^XZ" + Символы.ПС;
Приложение.ДополнительныеДанные.Добавить("data", КомандыДляПечати);
Приложение.Приложение = "ru.project.labelprint";
Приложение.ИмяКласса = "ru.project.labelprint.print";
Приложение.Запустить(Ложь);
#конецесли
Версия 1: При отправке на печать происходит подключение к принтеру, печать этикетки и отключение от принтера.
Версия 2: При отправке на печать происходит подключение к принтеру, печать этикетки. Когда из документа или обработки печатается много этикеток в короткий промежуток времени то принтер не отключается, связь поддерживается. Для отключения принтера нужно отправить в data пустую строку. Пример:
#Если МобильноеПриложениеКлиент Тогда
Приложение = Новый ЗапускПриложенияМобильногоУстройства();
Приложение.ДополнительныеДанные.Добавить("data", "");
Приложение.Приложение = "ru.project.labelprint";
Приложение.ИмяКласса = "ru.project.labelprint.print";
Приложение.Запустить(Ложь);
#конецесли
Версия 3 (поддерживает работу до Android 14): Все так же как и во второй версии но можно печатать на несколько принтеров с одного ТСД. Для реализации печати на несколько принтеров через программу проверяете печать на каждом принтере. Запоминаете адреса ip или bluetooth. В параметре указываете 'ip' или 'address' принтера на который хотите распечатать, если адрес не указывать то будет печатать на принтер по умолчанию который указан в настройках программы. Пример:
#Если МобильноеПриложениеКлиент Тогда
Приложение = Новый ЗапускПриложенияМобильногоУстройства();
//Для сетевого принтера
Приложение.ДополнительныеДанные.Добавить("ip", "10.1.1.1");
//Для принтера по bluetooth
Приложение.ДополнительныеДанные.Добавить("address", "XX:XX:XX:XX:XX:XX");
//Дальше как обычно отправляемые данные для печати
Приложение.ДополнительныеДанные.Добавить("data", "");
Приложение.Приложение = "ru.project.labelprint";
Приложение.ИмяКласса = "ru.project.labelprint.print";
Приложение.Запустить(Ложь);
#конецесли
Язык интерпретатора для каждого принтера не выбирается и используется один общий который указан в программе.
Тестировалось на ТСД Атол Smarl Lite Android 7; принтер Атол X-323B; Мобильная платформа 1С Предприятие 8.3.21.26.