TMManager (Архив)
TMManager — это COM-приложение, позволяющее какому-либо программному средству взаимодействовать с системой Такси-Мастер с помощью технологии COM.
Содержание
Установка TMManager
Установка COM-объекта TMManager происходит в один шаг: нужно просто запустить исполняемый файл. При этом объект VBS?).
TMMgr зарегистрируется в списке приложений DCOM через службу компонентов, и его можно использовать для вызова методов из стороннего приложения (например, из скриптаСоздание объекта
Создание объекта в вашей программе происходит довольно просто. Пример на VBS:
dim mgrInstance mgrInstance = WScript.CreateObject("TMMgr.TMManager")
Методы TMManager
Объект TMManager имеет несколько методов, которые могут быть использованы сторонними приложениями.
DBConnect
С помощью метода базе данных Такси-Мастер.
DBConnect организуется подключение кСинтаксис
Синтаксис метода
DBConnect :HRESULT DBConnect (BSTR ServerName, BSTR FilePath, BSTR Login, BSTR Password);
- ServerName — это строка, обозначающая имя сервера, например, LOCALHOST .
- базы данных. Путь должен быть указан полностью, включая имя диска. Например, C:\Program Files\TMEnterprise\tme_db.fdb . FilePath — строка, обозначающая путь к файлу
- Login обозначает имя пользователя, под которым производится вход в базу данных. Например, SYSDBA .
- Password — строка, обозначающая пароль для подключения к базе. Например, admin .
DBDisconnect
Вызов метода
DBDisconnect закрывает подключение к базе данных Такси-Мастер.Синтаксис
Синтаксис метода
DBDisconnect :HRESULT DBDisconnect();
Метод вызывается без параметров.
OpenNewOrder
Метод списке заказов Такси-Мастер новый заказ. Один вызов этого метода создает один пустой заказ.
OpenNewOrder создает вСинтаксис
Синтаксис метода
OpenNewOrder :HRESULT OpenNewOrder();
Метод вызывается без параметров.
SetOrderField
Метод
SetOrderField играет очень важную роль в создании заказа: с его помощью задаются значения полям карточки заказа. Метод вызывается столько раз, сколько полей нужно заполнить.Синтаксис
Синтаксис метода
SetOrderField :HRESULT SetOrderField(BSTR FieldName, Variant Value);
- FieldName — строка, обозначающая имя поля. Список допустимых полей см. ниже.
- Value — объект, обозначающий значение, передаваемое в поле.
Допустимые значения параметров
Параметр
FiledName определяет имя поля карточки заказа, а параметр Value — его значение. Набор полей строго определен, как и имя каждого из них, поэтому вызов метода будет успешным в том случае, когда значение FieldName соответствует одному из полей, описанных ниже, а Value имеет соответствующий полю тип. При несоблюдении правильности названия поля или типа вы можете получить исключительную ситуацию.Поле | Тип | Описание | Пример |
---|---|---|---|
STATE | NUMERIC(18,0) | Идентификатор состояния заказа. | |
NAME | VARCHAR(80) | Наименование заказа. | Заказ с телефона 305723 на Ленина, 24-68 |
PHONE | VARCHAR(12) | Номер телефона, с которого принят заказ. | |
CUSTOMER | VARCHAR(80) | Имя заказчика | Булкин |
SOURCE | VARCHAR(80) | Полный адрес подачи такси. | Ленина, 24-68 |
DESTINATION | VARCHAR(80) | Полный адрес назначения. | Пушкинская, 114-8 |
CREWID | NUMERIC(18,0) | Идентификатор экипажа-исполнителя. | 68 |
SUMM | NUMERIC(10,2) | Сумма за заказ. | 500 |
STARTUSER | NUMERIC(18,0) | Идентификатор оператора, принявшего заказ. | 4 |
STARTTIME | TIMESTAMP | Время приема заказа. | |
SOURCE_STREET | NUMERIC(18,0) | Идентификатор улицы подачи. | |
SOURCE_POINT | NUMERIC(18,0) | Идентификатор пункта подачи. | |
SOURCE_HOUSE | VARCHAR(10) | Номер дома подачи. | 24 |
SOURCE_FLAT | VARCHAR(10) | Номер квартиры подачи. | 68 |
SOURCE_TIME | TIMESTAMP | Время подачи. | |
DESTINATION_STREET | NUMERIC(18,0) | Идентификатор улицы назначения. | |
DESTINATION_POINT | NUMERIC(18,0) | Идентификатор пункта назначения. | |
DESTINATION_HOUSE | VARCHAR(10) | Номер дома назначения. | |
DESTINATION_FLAT | VARCHAR(10) | Номер квартиры назначения. | |
CLIENTID | NUMERIC(18,0) | Идентификатор клиента. | |
IS_PRIOR | NUMERIC(1,0) | Признак предварительного заказа. | 1 |
IS_LOCKED | SMALLINT | Признак блокировки заказа. | 1 |
MONEY_RECEIVE | SMALLINT | Признак принятия оплаты водителем. | 1 |
CloseNewOrder
Метод список заказов Такси-Мастер. Этот метод необходимо вызвать для того, чтобы созданный заказ появился в списке.
CloseNewOrder завершает редактирование полей заказа и добавляет его вСинтаксис
Синтаксис метода
CloseNewOrder :HRESULT CloseNewOrder();
Метод вызывается без параметров.
BeginCoordsSending
Метод
BeginCoordsSending создает объект для передачи в Такси-Мастер ряда координат.Синтаксис
Синтаксис метода
BeginCoordsSending :HRESULT BeginCoordsSending();
Метод вызывается без параметров.
SendCoords
Метод
SendCoords добавляет в объект координаты и время их передачи.Синтаксис
Синтаксис метода
SendCoords :HRESULT SendCoords(INT Identifier, SINGLE Latitude, SINGLE Longitude);
- Идентификатор в карточке экипажа. Для удобства можно использовать ИД водителя, его можно посмотреть в карточке водителя. Identifier — идентификатор водителя (см. поле
- Latitude — число с плавающей запятой, обозначающее широту.
- Longitude — число с плавающей запятой, обозначающее долготу.
EndCoordsSending
Метод
EndCoordsSending завершает набор координат и отправляет объект с координатами в Такси-Мастер.Синтаксис
Синтаксис метода
EndCoordsSending :HRESULT EndCoordsSending();
Метод вызывается без параметров.
Пример
См. пример сценария на языке Basic.
Возможные проблемы
Проблемы, которые могут возникнуть, описаны? в таблице:
Проблема | Картинка
(нажмите, чтобы посмотреть) |
Решение |
---|---|---|
Невозможно создать объект |
COM-объект не установлен в системе, поэтому невозможно создать его экземпляр. Чтобы иметь возможность использовать объект, установите его (см. выше). |
Ссылки
- Справочный пример работы с TMManager.
- http://ru.wikipedia.org/wiki/Windows_Script_Host — о Windows Script Host, под управлением которой работают примеры.
- http://ru.wikipedia.org/wiki/DCOM — о DCOM на Википедии.
- http://www.microsoft.com/com — описание технологии COM на сайте автора.