gifts2017

WARC

Опубликовал Николай (nnn) в раздел Программирование - Внешние компоненты

ВК для автоматизации обмена посредством модема
можно использовать для мод, урбд и т.п.
предистория:
для автоматизации пре-селинга понадобился сброс заказов из терминала PSION Workabout в 1С через мобилу, пришлось написать ВК
т.к. терминал - пришлось реализовывать простой протокол (не z-modem), попросили попробовать под урбд - вышло, вот теперь выкладываю
суть проста:
активикс.ехе с сом-интерфейсом
дерево классов:
CommDirect - корень
Sheduler-класс управления задачами
Tasks-коллекция задач
Task-задачи
UserData-класс управления пользователями
Users-коллекция пользователей
User-пользователь
Sessions-коллекция его коннектов
Connection-коннекты
свойства, методы описывать не буду: все видно в Project Explorerе VB, Excel, Access
основные и достаточные есть в ерт архива
для передачи событий в 1С реализован отдельный интерфейс в виде Messager.dll
у него есть метод .RaisePassEvent StatusType, StatusNumber, StatusDescrEN, StatusDescrRU
а он уже имеет IInitDone и портирует команду как событие в 1Совскую ОбработкаВнешнегоСобытия(StatusType.StatusNumber, StatusDescrEN, StatusDescrRU)
потому обьявление в 1С так:
подключитьвнешнююкомпоненту("AddIn.Messager"); запускаю Messager
мсж = CreateObject("AddIn.Messager"); - подключаюсь к сом-интерфейсу Messager
ком = CreateObject("WARC.CommDirect"); - подключаюсь к сом-интерфейсу WARC
ком.ExtMessager=мсж; говорю WARC, что его ExtMessager это мой мсж
для пользующихся 8-кой у Messager есть событие Объект_ChangeStatus()

для запуска проги нужно
regsvr32 MSCOMM32.OCX,
regsvr32 Messager.dll
запустить ерт, по инициализации в трее у WARC есть меню, там:
создать пользователей, ввести телефон, пароль, установить настройки порта,
положить че-нить в оутбоксы с двух сторон (папки прога сама сделает) и все
все это можно делать интерактивно, создав интерфейс в 1С
при вызове пользователь.Ring() WARC позвонит, получит, отправит, отключится
меню появилось только для отладки, думаю далее все это убрать, в частности окно терминала

терминал поддерживает команды
LOGON
LOGOFF
CALLBACK +если /NS то не передает файлы
GETFILE имя (из CURDIR, по умолчанию OutBox, можно сменить командой CURDIR)
FILE=имя принимает файл и записывает его в инбоксе с указанным именем
GETALLFILES получить все файлы из оутбокс
CD аналог
DIR показать файлы и каталоги
FILES показать файлы
DRIVES показать диски
SHELL выполнить прогу
CURDIR сменить текущый каталог
CDOUTBOX текущый каталог - оутбокс
CDLASTCNT текущий - каталог последней сессии
ADDTASK добавить задачу на удаленном компе, порядок такой же как в классе sheduler, разделять значения "|"
TASKS перечень задач
DATE посмотреть дату
DISABLED деактивировать (не будет принимать звонки)
END, EXIT

полная версия
лицензионное соглашение:
используйте кому где надо без ограничений as is,
т.е. как есть без какой бы то ни было ответствености разработчика
кому нужны изменения, протокол или исходники, связывайтесь, поговорим

Скачать файлы

Наименование Файл Версия Размер
WARC.zip 31
.zip 854,28Kb
25.09.09
31
.zip 854,28Kb Бесплатно

См. также

Подписаться Добавить вознаграждение
В этой теме еще нет сообщений.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа