Имя: Пароль:
1C
 
Забыл как послать ZPL-этикетку напрямую в порт принтера Godex
, , ,
0 e053nk
 
14.04.22
16:12
Имею в наличии Godex RT230 с сетевым интерфейсом. Хочу послать файл напрямую в порт IP принтера. Перепробовал по разному:

ВЫполнить("copy "+ИмяФайлаЭтикеток+" 9100 "+ПутьКПринтеру);    
//ЗапуститьПриложение("cmd /с copy "+ИмяФайлаЭтикеток+" "+ПутьКПринтеру);//(,,,);
        
КомандаСистемы("copy "+ИмяФайлаЭтикеток+" "+ПутьКПринтеру+":9100 ");
//КомандаСистемы("copy D:\\1.txt  "+ПутьКПринтеру,);
КомандаСистемы("copy "+ИмяФайлаЭтикеток+" RT230");//192.168.0.15");

не хочет печатать, молчит.
Сам Ip пингуется (это что бы знать что виден принтер в сети).

Из своей программы Golbel -этикетка печатается и в обычном режиме печати, и  через её виртуальный терминал.
Принтер подключен по IP.
В интернете информации полно как в расшаренный порт печать через net use , но как в IP кинуть файл - не нашел.


Когда то давно  что то подобное делал, но на Зебре ZM400. Но сейчас не могу найти исходник правильного синтаксиса  команды -эти клиенты пропали давно уже.
Что не так делаю?
1 arsik
 
гуру
14.04.22
16:17
Может просто КопироватьФайл("d:\etiketka.zpl","\\принтер\");
2 e053nk
 
14.04.22
16:21
пишет ошибку
Ошибка копирования файлов из 'C:\Users\Админ\AppData\Local\Temp\v8_A3E3_26.txt' в '\\192.168.0.15' : Неправильный путь к файлу
3 arsik
 
гуру
14.04.22
16:23
Зайдите чем ни будь по сетевому пути \\192.168.0.15\
Что там есть? Возможно нужно указать \\192.168.0.15\ИмяПринтера
4 e053nk
 
14.04.22
16:26
Там не ничего -это Ip адрес самого принтера
5 Базис
 
naïve
15.04.22
01:52
Если средствами DOS (а винда - графическая оболочка поверх неё), то copy [много параметров] /b.
6 RAJAH
 
15.04.22
07:17
А если вместо команды "copy" использовать "type"?
7 arsik
 
гуру
15.04.22
08:12
А зачем так сложно? Не проще драйвером из БПО воспользоваться. Не думаю что через ZPL будет ну очень быстрее.
Вот например от сканкода драйвер нативный - https://scancode.ru/upload/iblock/88b/godexezpl8_1_0_0_46.zip
Вот описание https://its.1c.ru/db/metod8dev#content:4829:hdoc:labelstable
8 MWWRuza
 
гуру
15.04.22
09:28
У меня вот так работает:

            ВремФайл     = КаталогИБ() + "\" + РабочаяДата() + ".txt";
            Фл             = СоздатьОбъект("AddIn.V7TextFile");
            Фл.ОткрытьФайл(ВремФайл, 1);
            Фл.КодоваяСтраница(1);
            Фл.ЗаписатьСтроку(Карта);
            Фл.ЗакрытьФайл();
            ФС.КопироватьФайл(ВремФайл,СокрЛП(Принтер)+"\"+РабочаяДата()+".txt",1);
            Если ФС.СуществуетФайл(ВремФайл)=1 Тогда
                ФС.УдалитьФайл(ВремФайл);
            КонецЕсли;

"Принтер" - это полный путь к сетевому принтеру, например: "\\MyKomp\BZB2\". Естественно, он должен быть "расшарен", даже если локально на этом-же компе находится.
9 MWWRuza
 
гуру
15.04.22
09:30
Пардон, слешь лишний в конце имени принтера, ну, или из текста модуля убрать, перед именем файла.
10 e053nk
 
15.04.22
19:00
В итоге получилось при помощи посылки запроса Post со строкой кода  EZPL распечатать этикетки.
Так первый раз посылаю на печать этикетки.
"copy","хcopy","type" -не смог запустить для печати прямо по IP  адресу. Как я понимаю , эти команды с IP адресами не работают. Либо я  не знаю как  писать синтаксис  команды в этом случае.
"путь к сетевому принтеру, например: "\\MyKomp\BZB2\"" -это вариант с COM, LPT, USB портами. У меня есть порт LAN -нужно его было использовать
AdBlock убивает бесплатный контент. 1Сергей