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

Материал из TaxiMaster
Перейти к: навигация, поиск
(Установка TMManager)
 
(не показано 8 промежуточных версий 2 участников)
Строка 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|{{корень FTP|Utilities/TMMgr.exe}}}}
 
  
 
== Создание объекта ==
 
== Создание объекта ==
Строка 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();
 
  
 
Метод вызывается без параметров.
 
Метод вызывается без параметров.
Строка 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-объект не установлен в системе, поэтому невозможно создать его экземпляр. Чтобы иметь возможность использовать объект, установите его (см. выше).

Ссылки