TMManager (Архив)

Материал из TaxiMaster
Перейти к: навигация, поиск

TMManager — это COM-приложение, позволяющее какому-либо программному средству взаимодействовать с системой Такси-Мастер с помощью технологии COM.

Установка TMManager

Установка COM-объекта TMManager происходит в один шаг: нужно просто запустить исполняемый файл. При этом объект TMMgr зарегистрируется в списке приложений DCOM через службу компонентов, и его можно использовать для вызова методов из стороннего приложения (например, из скрипта VBS — Visual Basic script).

Download.png
Для скачивания Вы можете воспользоваться ссылкой:
http://taximaster.ru/ftp/tm/Utilities/TMMgr.zip

Создание объекта

Создание объекта в вашей программе происходит довольно просто. Пример на VBS:

dim mgrInstance
mgrInstance = WScript.CreateObject("TMMgr.TMManager")

Методы TMManager

Объект TMManager имеет несколько методов, которые могут быть использованы сторонними приложениями.

DBConnect

С помощью метода DBConnect организуется подключение к базе данных Такси-Мастер.

Синтаксис

Синтаксис метода DBConnect:

HRESULT DBConnect (BSTR ServerName, BSTR FilePath, BSTR Login, BSTR Password);
  1. ServerName — это строка, обозначающая имя сервера, например, “LOCALHOST”.
  2. FilePath — строка, обозначающая путь к файлу базы данных. Путь должен быть указан полностью, включая имя диска. Например, C:\Program Files\TMEnterprise\tme_db.fdb.
  3. Login обозначает имя пользователя, под которым производится вход в базу данных. Например, SYSDBA.
  4. Password — строка, обозначающая пароль для подключения к базе. Например, masterkey.

DBDisconnect

Вызов метода DBDisconnect закрывает подключение к базе данных Такси-Мастер.

Синтаксис

Синтаксис метода DBDisconnect:

HRESULT DBDisconnect();

Метод вызывается без параметров.

OpenNewOrder

Метод OpenNewOrder создает в списке заказов Такси-Мастер новый заказ. Один вызов этого метода создает один пустой заказ.

Синтаксис

Синтаксис метода OpenNewOrder:

HRESULT OpenNewOrder();

Метод вызывается без параметров.

SetOrderField

Метод SetOrderField играет очень важную роль в создании заказа: с его помощью задаются значения полям карточки заказа. Метод вызывается столько раз, сколько полей нужно заполнить.

Синтаксис

Синтаксис метода SetOrderField:

HRESULT SetOrderField(BSTR FieldName, Variant Value);
  1. FieldName — строка, обозначающая имя поля. Список допустимых полей см. ниже.
  2. 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); 
  1. Identifier — идентификатор водителя (см. поле «Идентификатор» в карточке экипажа. Для удобства можно использовать ИД водителя, его можно посмотреть в карточке водителя.
  2. Latitude — число с плавающей запятой, обозначающее широту.
  3. Longitude — число с плавающей запятой, обозначающее долготу.

EndCoordsSending

Метод EndCoordsSending завершает набор координат и отправляет объект с координатами в Такси-Мастер.

Синтаксис

Синтаксис метода EndCoordsSending:

HRESULT EndCoordsSending();

Метод вызывается без параметров.

Возможные проблемы

Проблемы, которые могут возникнуть, описаны? в таблице:

Проблема Картинка

(нажмите, чтобы посмотреть)

Решение
Невозможно создать объект Tmmanager-exception-on-create.png

COM-объект не установлен в системе, поэтому невозможно создать его экземпляр. Чтобы иметь возможность использовать объект, установите его (см. выше).

Ссылки