Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Укрощение ECS/POS принтера
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Работа с торговым оборудованием
Zink
Хочу сделать обработку для печати этикетки на принтере citizen, им можно управлять при помощи esc-последовательностей, например: чтоб выбрать кодировку cp866 надо послать ему такую команду ESC 't' 07 . Для начала решить попробовать сделать такую тестовую внеш. обработку:
ТекстДок = Новый ТекстовыйДокумент;
    ТекстДок.ДобавитьСтроку(СокрЛП(ЭлементыФормы.ПолеВвода1.Значение));
    ТекстДок.Записать("test.txt", ?(СписокКодировок=1,КодировкаТекста.ANSI,
    ?(СписокКодировок=2,КодировкаТекста.OEM,
    ?(СписокКодировок=3,КодировкаТекста.UTF16,
    ?(СписокКодировок=4,КодировкаТекста.UTF8,
    ?(СписокКодировок=5,"cp866",
    ?(СписокКодировок=6,"US-ASCII",КодировкаТекста.System)))))));
    
    КомандаСистемы("copy test.txt com"+СокрЛП(ЭлементыФормы.нПорта.Значение));


т.е. в форме обработке я сделал поле ввода для текста(команды), выпадающий список для выбора кодировки(пробовал такие ANSI,OEM,UTF16,UTF8,cp866,US-ASCII), и поле ввода номера COM-порта.
Какую кодировку я бы не пробовал при отправке команды принтер это воспринимает как текст для печати !!!
Нетак делаю или так но где то ошибка ?????

Вот пример из даташита этого принтера только на бейсике:
10 A$="CITIZEN"
20 LPRINT CHR$(&H1D);"!";CHR$(&H11);    // команда GS ! n
30 LPRINT A$;

В 20-й строке посылаем команду сделать шрифт двойной высоты GS ! n

И в даташите вот что написано: All print data sent from the host computer to the printer are automatically converted to one-byte alphanumeric or
katakana characters (ANK) or two-byte Kanji corresponding to the characters and symbols.
cvitova
В 1С7 примерно так:
Текст.ДобавитьСтроку(Симв(27)+"t"+Симв(7));



 i 

Правила, п. 12
 
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.