TMManager (Архив): различия между версиями

Материал из TaxiMaster
Перейти к навигацииПерейти к поиску
Нет описания правки
 
(не показано 11 промежуточных версий 3 участников)
Строка 1: Строка 1:
{{url|{{корень FTP|Utilities/TMMgr.exe}}}}
'''TMManager''' — это COM-приложение, позволяющее какому-либо программному средству взаимодействовать с системой Такси-Мастер с помощью технологии COM.
'''TMManager''' — это COM-приложение, позволяющее какому-либо программному средству взаимодействовать с системой Такси-Мастер с помощью технологии COM.
{{warning|Обратите внимание! Данная утилита устарела, сейчас её функции выполняет [[TM API|CommonAPI]].}}


== Установка TMManager ==
== Установка TMManager ==
Установка COM-объекта TMManager происходит в один шаг: нужно просто запустить исполняемый файл.
Установка COM-объекта TMManager происходит в один шаг: нужно просто запустить исполняемый файл.
При этом объект {{code|TMMgr}} зарегистрируется в списке приложений DCOM через службу компонентов, и его можно использовать для вызова методов из стороннего приложения (например, из скрипта {{коммент|VBS|Visual Basic script}}).
При этом объект {{code|TMMgr}} зарегистрируется в списке приложений DCOM через службу компонентов, и его можно использовать для вызова методов из стороннего приложения (например, из скрипта {{коммент|VBS|Visual Basic script}}).
{{url|http://taximaster.ru/ftp/tm/Utilities/TMMgr.zip}}


== Создание объекта ==
== Создание объекта ==
Строка 20: Строка 22:


=== {{code|DBConnect}} ===
=== {{code|DBConnect}} ===
С помощью метода {{code|DBConnect}} организуется подключение к [[База данных|базе данных Такси-Мастер]].
С помощью метода {{code|DBConnect}} организуется подключение к Такси-Мастер.
 
При этом будет создан файл с настройками TMMgr.ini, в котором нужно указать актуальные TMServerIP, TMServerPort, TMAPISecretKey.


==== Синтаксис ====
==== Синтаксис ====
Строка 28: Строка 32:


# {{code|ServerName}} — это строка, обозначающая имя сервера, например, {{путь|LOCALHOST}}.
# {{code|ServerName}} — это строка, обозначающая имя сервера, например, {{путь|LOCALHOST}}.
# {{code|FilePath}} — строка, обозначающая путь к файлу [[База данных|базы данных]]. Путь должен быть указан полностью, включая имя диска. Например, {{путь|C:\Program Files\TMEnterprise\tme_db.fdb}}.
# {{code|FilePath}} — строка, обозначающая путь к файлу базы данных. Путь должен быть указан полностью, включая имя диска.  
# {{code|Login}} обозначает имя пользователя, под которым производится вход в базу данных. Например, {{code|SYSDBA}}.
# {{code|Login}}/{{code|Password}} — текущие логин и пароль для вашей базы данных.
# {{code|Password}} — строка, обозначающая пароль для подключения к базе. Например, {{code|masterkey}}.


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


==== Синтаксис ====
==== Синтаксис ====
Строка 39: Строка 42:


  HRESULT DBDisconnect();
  HRESULT DBDisconnect();
Метод вызывается без параметров.
=== {{code|OpenNewOrder}} ===
Метод {{code|OpenNewOrder}} создает в [[Список заказов|списке заказов]] Такси-Мастер новый [[заказ]].
Один вызов этого метода создает один пустой заказ.
==== Синтаксис ====
Синтаксис метода {{code|OpenNewOrder}}:
HRESULT OpenNewOrder();
Метод вызывается без параметров.
=== {{code|SetOrderField}} ===
Метод {{code|SetOrderField}} играет очень важную роль в создании заказа: с его помощью задаются значения полям карточки заказа.
Метод вызывается столько раз, сколько полей нужно заполнить.
==== Синтаксис ====
Синтаксис метода {{code|SetOrderField}}:
HRESULT SetOrderField(BSTR FieldName, Variant Value);
# {{code|FieldName}} — строка, обозначающая имя поля. Список допустимых полей см. ниже.
# {{code|Value}} — объект, обозначающий значение, передаваемое в поле.
==== Допустимые значения параметров ====
Параметр {{code|FiledName}} определяет имя поля карточки заказа, а параметр {{code|Value}} — его значение.
Набор полей строго определен, как и имя каждого из них, поэтому вызов метода будет успешным в том случае, когда значение {{code|FieldName}} соответствует одному из полей, описанных ниже, а {{code|Value}} имеет соответствующий полю тип.
При несоблюдении правильности названия поля или типа вы можете получить исключительную ситуацию.
{|{{table}}
! {{table/th}} | Поле
! {{table/th}} | Тип
! {{table/th}} | Описание
! {{table/th}} | Пример
|-
| {{table/td}} | {{code|STATE}}
| {{table/td}} | {{code|NUMERIC(18,0)}}
| {{table/td}} | Идентификатор состояния заказа.
| {{table/td}} |
|-
| {{table/td}} | {{code|NAME}}
| {{table/td}} | {{code|VARCHAR(80)}}
| {{table/td}} | Наименование заказа.
| {{table/td}} | Заказ с телефона 305723 на Ленина, 24-68
|-
| {{table/td}} | {{code|PHONE}}
| {{table/td}} | {{code|VARCHAR(12)}}
| {{table/td}} | Номер телефона, с которого принят заказ.
| {{table/td}} |
|-
| {{table/td}} | {{code|CUSTOMER}}
| {{table/td}} | {{code|VARCHAR(80)}}
| {{table/td}} | Имя заказчика
| {{table/td}} | Булкин
|-
| {{table/td}} | {{code|SOURCE}}
| {{table/td}} | {{code|VARCHAR(80)}}
| {{table/td}} | Полный адрес подачи такси.
| {{table/td}} | Ленина, 24-68
|-
| {{table/td}} | {{code|DESTINATION}}
| {{table/td}} | {{code|VARCHAR(80)}}
| {{table/td}} | Полный адрес назначения.
| {{table/td}} | Пушкинская, 114-8
|-
| {{table/td}} | {{code|CREWID}}
| {{table/td}} | {{code|NUMERIC(18,0)}}
| {{table/td}} | [[ИД экипажа|Идентификатор экипажа-исполнителя]].
| {{table/td}} | 68
|-
| {{table/td}} | {{code|SUMM}}
| {{table/td}} | {{code|NUMERIC(10,2)}}
| {{table/td}} | Сумма за заказ.
| {{table/td}} | 500
|-
| {{table/td}} | {{code|STARTUSER}}
| {{table/td}} | {{code|NUMERIC(18,0)}}
| {{table/td}} | Идентификатор оператора, принявшего заказ.
| {{table/td}} | 4
|-
| {{table/td}} | {{code|STARTTIME}}
| {{table/td}} | {{code|TIMESTAMP}}
| {{table/td}} | Время приема заказа.
| {{table/td}} |
|-
| {{table/td}} | {{code|SOURCE_STREET}}
| {{table/td}} | {{code|NUMERIC(18,0)}}
| {{table/td}} | Идентификатор улицы подачи.
| {{table/td}} |
|-
| {{table/td}} | {{code|SOURCE_POINT}}
| {{table/td}} | {{code|NUMERIC(18,0)}}
| {{table/td}} | Идентификатор пункта подачи.
| {{table/td}} |
|-
| {{table/td}} | {{code|SOURCE_HOUSE}}
| {{table/td}} | {{code|VARCHAR(10)}}
| {{table/td}} | Номер дома подачи.
| {{table/td}} | 24
|-
| {{table/td}} | {{code|SOURCE_FLAT}}
| {{table/td}} | {{code|VARCHAR(10)}}
| {{table/td}} | Номер квартиры подачи.
| {{table/td}} | 68
|-
| {{table/td}} | {{code|SOURCE_TIME}}
| {{table/td}} | {{code|TIMESTAMP}}
| {{table/td}} | Время подачи.
| {{table/td}} |
|-
| {{table/td}} | {{code|DESTINATION_STREET}}
| {{table/td}} | {{code|NUMERIC(18,0)}}
| {{table/td}} | Идентификатор улицы назначения.
| {{table/td}} |
|-
| {{table/td}} | {{code|DESTINATION_POINT}}
| {{table/td}} | {{code|NUMERIC(18,0)}}
| {{table/td}} | Идентификатор пункта назначения.
| {{table/td}} |
|-
| {{table/td}} | {{code|DESTINATION_HOUSE}}
| {{table/td}} | {{code|VARCHAR(10)}}
| {{table/td}} | Номер дома назначения.
| {{table/td}} |
|-
| {{table/td}} | {{code|DESTINATION_FLAT}}
| {{table/td}} | {{code|VARCHAR(10)}}
| {{table/td}} | Номер квартиры назначения.
| {{table/td}} |
|-
| {{table/td}} | {{code|CLIENTID}}
| {{table/td}} | {{code|NUMERIC(18,0)}}
| {{table/td}} | Идентификатор клиента.
| {{table/td}} |
|-
| {{table/td}} | {{code|IS_PRIOR}}
| {{table/td}} | {{code|NUMERIC(1,0)}}
| {{table/td}} | Признак предварительного заказа.
| {{table/td}} | 1
|-
| {{table/td}} | {{code|IS_LOCKED}}
| {{table/td}} | {{code|SMALLINT}}
| {{table/td}} | Признак блокировки заказа.
| {{table/td}} | 1
|-
| {{table/td}} | {{code|MONEY_RECEIVE}}
| {{table/td}} | {{code|SMALLINT}}
| {{table/td}} | Признак принятия оплаты водителем.
| {{table/td}} | 1
|}
=== {{code|CloseNewOrder}} ===
Метод {{code|CloseNewOrder}} завершает редактирование полей заказа и добавляет его в [[список заказов]] Такси-Мастер.
Этот метод необходимо вызвать для того, чтобы созданный заказ появился в списке.
==== Синтаксис ====
Синтаксис метода {{code|CloseNewOrder}}:
HRESULT CloseNewOrder();


Метод вызывается без параметров.
Метод вызывается без параметров.
Строка 251: Строка 93:
| {{table/td}} |
| {{table/td}} |
COM-объект не установлен в системе, поэтому невозможно создать его экземпляр.
COM-объект не установлен в системе, поэтому невозможно создать его экземпляр.
Чтобы иметь возможность использовать объект, установите его (см. выше).
Чтобы иметь возможность использовать объект, установите его (см. [[#Установка TMManager|выше]]).
|}
|}


Строка 258: Строка 100:
* {{code/url|http://ru.wikipedia.org/wiki/Windows_Script_Host}} — о Windows Script Host, под управлением которой работают примеры.
* {{code/url|http://ru.wikipedia.org/wiki/Windows_Script_Host}} — о Windows Script Host, под управлением которой работают примеры.
* {{code/url|http://ru.wikipedia.org/wiki/DCOM}} — о DCOM на Википедии.
* {{code/url|http://ru.wikipedia.org/wiki/DCOM}} — о DCOM на Википедии.
* {{code/url|http://www.microsoft.com/com}} — описание технологии COM на сайте автора.


[[Категория:COM-приложения]]
[[Категория:COM-приложения]]
[[Категория:Установка]]
[[Категория:Архив]]
[[Категория:Подключающиеся к базе данных]]

Текущая версия от 11:21, 27 августа 2021

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

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

Предупреждение!
Обратите внимание! Данная утилита устарела, сейчас её функции выполняет CommonAPI.

Установка TMManager

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

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

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

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

Методы TMManager

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

«DBConnect»

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

При этом будет создан файл с настройками TMMgr.ini, в котором нужно указать актуальные TMServerIP, TMServerPort, TMAPISecretKey.

Синтаксис

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

HRESULT DBConnect (BSTR ServerName, BSTR FilePath, BSTR Login, BSTR Password);
  1. «ServerName» — это строка, обозначающая имя сервера, например, «LOCALHOST».
  2. «FilePath» — строка, обозначающая путь к файлу базы данных. Путь должен быть указан полностью, включая имя диска.
  3. «Login»/«Password» — текущие логин и пароль для вашей базы данных.

«DBDisconnect»

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

Синтаксис

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

HRESULT DBDisconnect();

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

«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-объект не установлен в системе, поэтому невозможно создать его экземпляр. Чтобы иметь возможность использовать объект, установите его (см. выше).

Ссылки