TMManager (Архив)
TMManager — это COM-приложение, позволяющее какому-либо программному средству взаимодействовать с системой Такси-Мастер с помощью технологии COM.
Содержание
Установка TMManager
Установка COM-объекта TMManager происходит в один шаг: нужно просто запустить исполняемый файл. При этом объект TMMgr зарегистрируется в списке приложений DCOM через службу компонентов, и его можно использовать для вызова методов из стороннего приложения (например, из скрипта VBS — Visual Basic script).
Создание объекта
Создание объекта в вашей программе происходит довольно просто. Пример на 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”. -
FilePath
— строка, обозначающая путь к файлу базы данных. Путь должен быть указан полностью, включая имя диска. Например, C:\Program Files\TMEnterprise\tme_db.fdb. -
Login
обозначает имя пользователя, под которым производится вход в базу данных. Например, SYSDBA. -
Password
— строка, обозначающая пароль для подключения к базе. Например, masterkey.
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();
Метод вызывается без параметров.
Возможные проблемы
Проблемы, которые могут возникнуть, описаны? в таблице:
Ссылки
- http://ru.wikipedia.org/wiki/DCOM — о DCOM на Википедии.
- http://www.microsoft.com/com — описание технологии COM на сайте автора.