Когда первый раз я столкнулся с этим принтером (около 2 лет назад), передо мной стояла задача печати заказов на кухню из конфигурации на платформе 7.7. Прочитав про метод ESC последовательностей и попробовав, я быстро переключился на стандартную печать с помощью макета. С прямой печатью тогда, видимо, не хватило опыта, а где-то элементарного внимания. Задачу реализовать удалось, хотя она оказалась невостребованной. Принтер попросту простаивал.
Недавно руководство снова вернулось к этой задаче. Правда, продажи уже происходят из РМК Розницы 2.1 (РМК вынесено во внешнюю обработку и порядком переделано). У себя в отделе достаточно быстро переписал семерочный код в РМК, протестировал — все ОК. Принесли на место продаж — и тут неприятный сюрприз. В отделе отлаживался на Windows XP, а на месте — Windows 7. Поиск на сайте разработчика и в интернете показал, что драйверов для Windows 7 у Штрих-600 не существует. Принтер подключен по TCP/IP. Из тестовой утилиты удалось напечатать текст. Выход виделся один — разбираться с прямой печатью.
Использовалась ActiveX компонента Microsoft Winsock. Чтобы обойти ограничение на использование в управляемых формах, использовалось поле HTML документа. Отсюда некоторые нюансы с безопасностью (о них чуть ниже).
В сети нашлось не слишком много примеров. В основном это были вопросы на форумах. Хочется отметить некоторые страницы, которые помогли:
Работа с Windows Sockets в 1С Предприятие.
Как вставить и использовать компонент activex на форме в 1с предприятие 8.2. например WMP
В архив помещены компонента Winsock и обработка. Для установки компоненты, вероятно, потребуются права администратора.
После установки компоненты нужно изменить параметры безопасности в свойствах браузера. В результате тестирования разных настроек пришел к такому решению (на мой взгляд, безопасному). Для зоны надежные узлы добавляем пустую страницу (about:blank). Для этого потребуется снять флаг проверки серверов.
Далее для этой зоны («Надежные узлы») включаем «Использование элементов ActiveX, не помеченных как безопасные для использования». После этих настроек должны пропасть все сообщения при открытии обработки в 1С:Предприятии.
После открытия на закладке «Настройки подключения» необходимо указать ip адрес принтера в сети и порт. Ip адрес можно узнать либо с помощью утилиты, которая идет вместе с принтером, либо распечатав на принтере текущие настройки. Порт использовал 9100.
Вот, собственно, и все. Далее можно «играться» разными настройками печати на форме и, при желании, увидеть текст в виде управляющих последовательностей.
Добавлю, что у меня не получилось управлять отрезчиком с помощью последовательностей. Некоторые настройки все же нужно делать из формы утилиты принтера.
Буду рад, если кому-то пригодится.