TMManager (Архив)

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

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

Установка TMManager

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

Download.png
Для скачивания Вы можете воспользоваться ссылкой:
http://files.bitmaster.ru/TM/Utilities/TMMgr.exe

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

Создание объекта в вашей программе происходит довольно просто. Пример на 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» — строка, обозначающая пароль для подключения к базе. Например, «admin».

«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();

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

Пример

См. пример сценария на языке Basic.

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

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

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

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

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

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

Ссылки