Печать из Андроид

20.01.23

Задачи пользователя - Этикетки, ценники

Печать этикеток на принтер WiFi без драйвера.

На одном из обслуживаемых мной предприятий решили ввести маркировку продукции. Для этого приобрели wifi принтер этикеток и планшет с android. Опубликовали базу на apache, установили клиента 1с android. 1с прекрасно видела принтеры и печатала, но на принтеры HP, Canon, Samsung, а это китайское чудо в упор видеть не хотело. Разрабатывать под android я не умею, поэтому пошёл другим путём.

Принтер мог печатать с помощью  языка разметки ZPL. Поэтому первым делом формирую этикетку. Это можно сделать и онлайн например на сайте Labelary Online ZPL Viewer http://labelary.com/.

&НаСервере
Функция СформироватьСтроку(ВыбраннаяСтрока)
	
	Стр	= Объект.ГотоваяПродукция[ВыбраннаяСтрока];
	ТекстСсылки = Стр.АналитикаВыпуска.Код+";"+
	Стр.Продукция.Наименование+";"+
	Объект.Дата+";"+
	Стр.Вес+";"+
	Стр.Количество+";"; 
	
	СтрокаЭтикетки= "	
	|^XA
	|^FO30,25
	|^ADN,26,10
	|^FDCode: "+Стр.АналитикаВыпуска.Код+";
	|^FS
	|^FO30,50
	|^ADN,26,10
	|^FD"+(Стр.Продукция.Наименование)+";
	|^FS
	|^FO30,75
	|^ADN,26,10
	|^FDData: "+(Объект.Дата)+";
	|^FS
	|^FO30,100
	|^ADN,26,10
	|^FDWeight: "+(Стр.Вес)+" kg.;
	|^FS
	|^FO20,125 
	|^GB420,0,2
	|^FS
	|^FO100,140		
	|^BQN,2,8
	|^FDMM,A"+(ТекстСсылки)+";
	|^FS
	|^XZ";
	
	Возврат СтрокаЭтикетки;	
	
КонецФункции

 

2. Т.к. 1с была уже опубликована на веб сервере, решил установить на apache интерпретатор php и с его помощью отправлять этикетку на принтер.

&НаСервере
Функция ЗапросХТТП(СтрокаЭтикетки) 
	
		Соединение = Новый HTTPСоединение("192.168.34.4",8881);
		
		Запрос = Новый HTTPЗапрос("/print.php?label="+СтрокаЭтикетки);   
		
		Результат	= Соединение.Получить(Запрос);
		//В запросе можно обратиться к нужному ресурсу и с нужными параметрами
		Если Результат.КодСостояния = 200 Тогда
			Возврат Результат.ПолучитьТелоКакСтроку(); //получим HTML-код страницы 
		Иначе
			Возврат "Код ответа: "+Результат.КодСостояния; //анализируем код состояния и делаем выводы
		КонецЕсли;

КонецФункции

 В php есть функция, которой мне не хватило в 1с - это работа с сокетом

<?php
error_reporting(E_ALL);

/* Get the port for the service. */
$port = "9100";

/* Get the IP address for the target host. */
$host = "192.168.57.113";

$label = $_GET['label'];

//$label  = iconv(mb_detect_encoding($text), "UTF-8", $text);

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false)  
    {
        echo "Не возможно создать соединение: " . socket_strerror(socket_last_error ()) . "\n";
    } else 
    {
 
        //echo "Attempting to connect to '$host' on port '$port'...";

        $result = socket_connect($socket, $host, $port);

        if ($result === false) //die('Не возможно соединится с принтером. Ошибка:'  . socket_strerror (socket_last_error($socket)) . '\n';
            {
                echo "Не возможно соединится с принтером. Ошибка:.\nReason: ($result) " . socket_strerror  (socket_last_error($socket)) . "\n";
            } else 
            {
                //echo $label."\n";
                echo 'Напечатана этикетка:';
                socket_write($socket, $label, strlen($label));
                socket_close($socket);
        }
    }

?>

 

Андроид android. wifi печать без драйвера драйвер этикетка 1с8

См. также

Этикетки, ценники Пользователь Платформа 1С v8.3 Конфигурации 1cv8 Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Беларусь Украина Россия Управленческий учет Платные (руб)

Простая в использовании обработка для формирования и печати ценников и этикеток со штрих-кодом, с дополнительной ценой, для 1С8.х Большое разнообразие шаблонов печатных форм. Управляемая форма (Такси) + Обычный режим.

3588 руб.

11.11.2020    49687    60    47    

69

Этикетки, ценники Пользователь Платформа 1С v8.3 Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 Платные (руб)

Встроенная в конфигурации Розница 2.3 и УНФ 1.6 подсистема печати ценников по мне слишком неповоротлива и с усилиями поддается тонкой настройке, решил с нуля написать свою универсальную печать ценников для этих конфигураций.

2000 руб.

04.11.2019    29382    116    87    

55

Этикетки, ценники Пользователь Платформа 1С v8.3 1С:Розница 2 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Абонемент ($m)

Расширение "Контроль ценников". Позволяет автоматизировать контроль над устаревшими ценниками в магазине при изменении цен на товары. Продавцы или товароведы получают список товаров с измененными ценами для замены ценников в режиме онлайн.

10 стартмани

30.10.2024    251    3    Miket78    4    

5

Этикетки, ценники Пользователь Платформа 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Абонемент ($m)

Внешняя обработка для 1С Розница 2.2.ХХХ - 2.3.ХХХ для печати формирования штрихкодов весового товара и печати на принтере термоэтикеток или кассовом аппарате.

1 стартмани

29.10.2024    300    3    independ    1    

5

Логистика, склад и ТМЦ Этикетки, ценники Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Абонемент ($m)

Выводит при печати этикетки складской ячейки в качестве штрихкода адрес ячейки вместо уникального идентификатора

1 стартмани

20.06.2024    1140    3    Alexei_Siva    4    

6

Этикетки, ценники Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Абонемент ($m)

Внешняя печатная форма для принтера этикеток. В отличие от базовой обработки для печати этикеток эта может выводить на печать дополнительные свойства справочника Номенклатура, а также в ней несложный программный код, что позволяет легко дорабатывать обработку под свои нужды.

2 стартмани

03.01.2023    4122    29    AndreyPonom    9    

11

Этикетки, ценники Пользователь Платформа 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Управленческий учет Абонемент ($m)

Архив с экспортными шаблонами этикеток (ценников) формата 58х40. Для тех, кто не хочет сам рисовать их.

3 стартмани

04.05.2022    15740    56    aximo    3    

12
Оставьте свое сообщение