TMManager (Архив) — различия между версиями
м |
|||
| Строка 6: | Строка 6: | ||
{{url|<tt>http://taximaster.ru/ftp/tm/Utilities/TMMgr.zip</tt>}} | {{url|<tt>http://taximaster.ru/ftp/tm/Utilities/TMMgr.zip</tt>}} | ||
| + | |||
| + | == Создание объекта == | ||
| + | Создание объекта в вашей программе происходит довольно просто. | ||
| + | Пример на VBS: | ||
| + | |||
| + | <pre> | ||
| + | dim mgrInstance | ||
| + | mgrInstance = WScript.CreateObject("TMMgr.TMManager") | ||
| + | </pre> | ||
== Методы TMManager == | == Методы TMManager == | ||
| Строка 225: | Строка 234: | ||
Метод вызывается без параметров. | Метод вызывается без параметров. | ||
| + | |||
| + | == Возможные проблемы == | ||
| + | Проблемы, которые могут возникнуть, {{коммент|описаны|Информация пополняется синхронно с поступлением проблем от клиентов.}} в таблице: | ||
| + | |||
| + | {| {{table}} | ||
| + | ! Проблема | ||
| + | ! Картинка | ||
| + | <small>(нажмите, чтобы посмотреть)</small> | ||
| + | ! Решение | ||
| + | |- | ||
| + | | Невозможно создать объект | ||
| + | | [[Image:Tmmanager-exception-on-create.png|150px]] | ||
| + | | | ||
| + | COM-объект не установлен в системе, поэтому невозможно создать его экземпляр. | ||
| + | Чтобы иметь возможность использовать объект, установите его (см. выше). | ||
| + | |} | ||
== Ссылки == | == Ссылки == | ||
Версия 11:08, 22 июля 2009
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(SINGLE Latitude, SINGLE Longitude, TIMESTAMP SendTime);
-
Latitude— число с плавающей запятой, обозначающее широту. -
Longitude— число с плавающей запятой, обозначающее долготу. -
SendTime— дата и время передачи координат из вашего приложения.
EndCoordsSending
Метод EndCoordsSending завершает набор координат и отправляет объект с координатами в Такси-Мастер.
Синтаксис
Синтаксис метода EndCoordsSending:
HRESULT EndCoordsSending();
Метод вызывается без параметров.
Возможные проблемы
Проблемы, которые могут возникнуть, описаны? в таблице:
Ссылки
- http://ru.wikipedia.org/wiki/DCOM — о DCOM на Википедии.
- http://www.microsoft.com/com — описание технологии COM на сайте автора.