среда, 21 марта 2012 г.

89:Продавец. Соединение с удаленной базой по TCP

Сегодня покажу , как можно организовать соединение с базой (на примере 1С) с помощью сокетного соединения. Можно , конечно взять известный ActiveX элемент от Microsoft , но это тривиально и возможно некоторым необходима гибкость решения. Итак, что нам понадобится?

1.Toolsack Baseline - классная свободная библиотека COM объектов. Там же можно скачать примеры простых клиента и сервера и документацию.
2.Сервер наш будет на VBS. Для связи с 1С будем использовать COM-соединение, так как оно устанавливается быстрее и требует меньше ресурсов.
 Пример скриптов на VBS - качайте и редактируйте (строку соединения с базой, код элемента справочника "ТипыЦенНоменклатуры", ну или перепишите запрос...) остальное тривиально.
Приложение тупо шлет штрихкод на открытый порт.
Формат ответа : КодТовара;Наименование;Цена <НоваяСтрока>
В цене разделителем должна быть "точка" , а не "запятая", символы неразрывных пробелов не допускаются.
Скрипт остановки(собственно это и есть пример клиента ) можно протестировать для запроса к базе (вместо символа "q" пошлите штрих-код..)
Можно обойтись и без скрипта VBS, все сделать в 1С и соединять устройство по TCP с формой, на которой ActiveX элемент, но c помощью WSH и ADO можно соединиться с необходимой Вам БД .
Вместо WSH можете взять хоть Perl,Python,Java - кому-что нравится, если ваше ПО работы с базой позволяет открыть и слушать TCP порт - вообще больше ничего не надо
P.S. Поиск по 4-м последним цифрам штрихкода  работает только с локальной базой на устройстве !

1 комментарий:

  1. Отличная идея !!! Успехов !!! Нужен хелп и примеры работы с программой.

    ОтветитьУдалить