Правила назначения водителей

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

Правила назначения водителей

При оформлении заказа, важно быстро определить и назначить водителя, как можно больше удоволетворяющего условиям заказа. Для автоматизации назначения водителя на заказ, реализованы правила назначения водителей, с помощью которых можно гибко настроить порядок назначения водителей. Вы можете настроить правила выбрав пункт меню Автоматизация|Правила назначения водителей главного окна программы. Совместно с настройками программы - Добавление заказа|Фильтры водителей и Работа водителей блок поиска водителей по стоянкам, правила назначения водителей позволяют полностью автоматизировать процесс определения и назначения наилучшего водителя. Окно Правил назначения водителей выглядит таким образом:

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

С помощью этого инструмента можно создать глобальные правила назначения водителей, нажатием на кнопку Добавить алгоритм в верхней части окна, появится запрос о названии правила:

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

например как показано на рисунке - правило Ближайшие стоянки создано на левой панели. Внутри этого правила можно создать несколько фильтров (отображены на правой панели)для наилучшего определения водителя. Новый фильтр добавляется нажатием кнопки Добавить фильтр в правой части окна, появится диалог настройки параметров фильтра:

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Правила:

"=" - равно
"!=" - не равно
">" - больше
">=" - больше или равно
"<" - меньше
"=<" - меньше или равно
"min" - минимальный выбор из списка водителей
"max" - максимальынй выбор из списк водителей

Порядок работы: На фильтр поступает список всех водителей на смене с предвдущего фильтра. Если предыдущего фильтра не было - тогда весь список водителей на смене Фильтр по своему правилу удаляет часть (или всех) водителей и оставляет не больший список. Этот список поступает на следующий фильтр или уже на выбор лучшего водителя.

Пример: Фильтр - ближайшеи стоянки, указанный на картинке сверху.

После его применения будут рассматриваться только водители, которые находятся на смене в ближайших секторах (в том числе и свободные и занятые, на всех классах машин и т.д.). Для дальнейшей фильтрации, необходимо добавлять дальнейшие правила

Алгоритм работы

С помощью заданых правил, Вы можете создавать алгоритмы назначения водителей по заказам.

Для этого Вым нужно создавать группы правил, которые должны быть упорядовачены в порядке их важности.

Например, нам нужно создать правила для назначения первого по стоянке, водителя, и, если таких не найдено, первого по ближайшей стоянке.

Тогда необходимо:

Правило 1: Назначение первого по текущей стоянке
Правило 2: Назначение первого по ближайшей текущей стоянке

При выполнении алгоритма, если "Правило 1" определит водителя, тогда он и будет назначен. Если "Правило 1" не определит никакого водителя, тогда алгоритм перейдет к следующему правила - "Правило 2", которое в данном примере может дать первого по очереди из билджайших стоянок.

Если под указанные правила подходят несколько водителей - тогда алгоритм случайным образом выберет одного из них. Поэтому, чтобы такого не было, внимательно формируйте условия для правил назначения водителей, чтобы не было неоднознчностей.


Параметры правил

Поле фильтр содержит раскрывающийся список с возможными вариантами настройки. При установке значения параметра, соблюдайте его значение - числовой или строкоывй это параметр. Если Вы оставляете поле "Значение" пустым, тогда этот параметр при определении заказа будет взят из самого заказа.

Пример:

Класс машины = <пусто>

Результат обработки фильтра:

а) если в заказе указан класс машины "Универсал", тогда будут использоваться только водители с машинами, класса "Универсал";

б) если в заказе не указан класс машины, тогда будут исползоваться все классы машины.

Список фильтров

  • Класс машины - обозначает класс автомобиля, из справочника Типы машин - строковый параметр.
  • Состояние - обозначает состояние водителя, которое настраивается в справочнике Состояние водителя
  • Тип состояния - обозначает главный тип состояния водителя - занят/свободен - смотрите Состояние водителя, тип состояния.
  • Расстояние - обозначает расстояние, на котором находится водитель от адреса заказа (по карте, с учетом маршрута). Вычисляется динамически для каждого водителя - от его последнего положения до адреса подачи машины.
  • Бонусы - обозначает количество призовых очков, которые присваиваются водителям за работу или нарушения. Значение бонусов Вы можете просматривать в карточку водителя. Параметр числовой. Этот параметр удобно испольозвать для огранизации фильтарций водителей ("первый сорт", "второй сорт") - автоматические правила начисляют этот параметр, в зависимости от качества работы водителя, а в правилах автоназначения, Вы можете его использовать.
  • Простой без заказа - обозначает время простоя водителя без заказа независимо от стоянки (выборка из всех водителей на смене). Значение задается в минутах.
  • Простой на стоянке - обозначает время простоя без заказа на стоянке и позволяет формировать очередь по времени. Значение задается в минутах.
  • Количество заказов - количество заказов, которые водитель выполнил на этой смене.
  • Канал ID - обозначает номер канала, на котором должен работать водитель - системный номер из справочника Каналы.
  • Порядок - порядок водителя на стоянке, учитывается именно упорядочивание водителей по прибытию, а не по времени простоя без заказа. Просматривать Вы его можете в отображении стоянок, изменять там же. Числовое занчение (1 - 1-ый по стоянке и т.д.)
  • Доезд - обозначает нахождение водителя в очереди доезда, очередь доезда - позволяет отслеживать ещё не прибывших на стоянку водителей, но направляющихся к ней с помощью выделения курсивом водителя в дереве водителей. Значение может быть 0 (не находиться на доезде) и 1 (находиться на доезде под заказом, еще не закончив его).
  • ID Стоянка - обозначает номер стоянки, можно поставить конкретный номер, чтобы назначались водители с определённых стоянок или оставить пустым, тогда будут определяться водители с основной стоянки, ближайшей к адресу заказа
  • Своя - обозначает, свою (1 в поле "значение") или не свою машину (пустое поле "значение") - смотрите справочник Машины - "Принадлежит таксопарку". Значение числовое.
  • Цена - обозначает цену заказа. Можно создавать правила для передачи денежных заказов своим ("нужным") водителям. Значение числовое.
  • Ближайшие стоянки - работает аналогично ID Стоянки, но позволяет отслеживать все приписанные ближайшие стоянки к основной при пустом значении поля. Задание ближайших стоянок происходит в справочнике Ближайшие стоянки.
  • Комания - описывает тех водителей, которые хотя выполнить данный заказ - поле в таблице заказов - "Компания водителей" для данного заказа. Значение строковое, перечисление позывных. Используется при работе без стоянок с одной общей очередью, когда заказ отдается всем водителям на смене, далее, из желающих выполнить заказ, назначается самый оптимальный по нужным параметрам водитель.
  • Класс ID машины - обозначает внутренний номер класса автомобиля, которые указаны в справочнике Типы машин - числовой параметр, смотрите справочник Типы машин.

К каждому из фильтров назначения определяется операнд: "=" - равно, "!=" - не равно, ">" - больше, ">=" - больше или равно, "<" - меньше, "=<" - меньше или равно, "min" - минимально, "max" - максимально, - позволяющий задавать условия срабатывания фильтра. Кроме того, к каждому фильтру можно (установив флажок Автоматически, и нажав кнопку Условие справа) добавить правило автоматического назначения водителя при срабатывании фильтра. Диалог настройки автоматического условия аналогичен настройке фильтра.

Примеры

Сделать распределение стандартное заказов по районам

Перебирать по стоянке заказа, водителей начиная с первого до последнего.

Для этого нужно указать такие правила:

  • Состояние = 1 - перебирать только свободных водителей
  • Стоянка = "пусто" - по текущей стоянка заказа.
  • Стоянка  != 0 - чтобы по заказов без стоянок не переназначало водителей.

Автоматически назначать:

  • Порядок - минимальный - назначать тех, кого еще не назначало с минимальным порядком.

После этого нужно включить на странце Настройки "Локальная автоматизация" на сервере установить автоинформеры и указать - автоматически назначать водителя на этом компьютере.

Сделать распределение заказов по класу авто

Найти машину на стоянке с требуемым класом авто и назначит первую из них по очереди

Даное правило будет работать только для тех заказов - для которых оператор при принятии указала клас авто:

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Предположим она выбрала клас иномарка. Тоесть заказ должен быть распределен среди машин имеющих клас иномарка.


Правило будет иметь вид :

  • Тип состояния =0 - перебирать только свободных водителей
  • Стоянка = "пусто" - по текущей стоянка заказа.
  • Стоянка  != 0 - чтобы по заказов без стоянок не переназначало водителей.
  • Класс машины ID =1 - Правило будет работь для заказов с класом авто 1 (иномарка).
  • Класс машины ID ="пусто" - Один из класов водителя должен быть иномарка.

Автоматически назначать:

  • Порядок - минимальный - назначать тех, кого еще не назначало с минимальным порядком на стоянке.

После этого нужно включить на странце Настройки "Локальная автоматизация" на сервере установить автоинформеры и указать - автоматически назначать водителя на этом компьютере.

Примечание: Посмотреть какой клас автомобиля соответсвует какой цыфре в базе можно через SQL-консоль

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Поиск водителя в радиусе 1 км

Перебирать среди всех водителей,что находятся в радиусе 1 километра от клиента - выбрать среди них с минимальным радиусом


Для этого нужно указать такие правила:

  • Тип сотояния = 0 - перебирать только среди свободных состояний
  • Водитель в радиусе X км <1 - выбираем в радиусе 1 километра от клиента.

Автоматически назначать:

  • Водитель в радиусе X км - Min - назначать водителя с меньшим растоянием первым.

Для правильной работы должны быть включены параметры обведеные на рисунках красным.

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

И ниже на етой же странице

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Растояние до клиента < 1 км

Перебирать среди всех водителей,что находятся от клиента менее чем в километре с учетом дорожной разметки и правил.На заказ поедет первым водитель, что находится ближе всех


Для этого нужно указать такие правила:

  • Тип сотояния = 0 - перебирать только среди свободных состояний
  • Водитель в радиусе X км <1 - выбираем в радиусе 1 километра от клиента.
  • Растояние до клиента <1 - выбираем водителей с растоянием меньше 1 километра.

Ремарка:

     Использование  в правиле  "Водитель в радиусе X км"  необходимо в свете  внутреней реализации алгоритма фильтрации.
     Также следует понимать, что растояние расчитывается до метра - потому не всегда первая машина на стоянке поедет даже, если ей по пути-  поедет та машина которая реально по метражу ближе к клиенту.  

Автоматически назначать:

  • Растояние до клиента - Min - назначать водителя с меньшим растоянием первым.

Для правильной работы должны быть включены параметры аналогичные примеру "Поиск водителя в радиусе 1 км "

Растояние до клиента < 1 км но выбрать среди водителей водителя, который дольше всех без заказов

Перебирать среди всех водителей,что находятся от клиента менее чем в километре с учетом дорожной разметки и правил.На заказ поедет первім водитель что находится ближе всех


Для этого нужно указать такие правила:

  • Тип сотояния = 1 - перебирать только среди свободных сотояний
  • Водитель в радиусе X км <1 - выбираем в радиусе 1 километра от клиента.
  • Растояние до клиента <1 - выбираем водителей с растоянием меньше 1 километра.

Ремарка:

     Использование  в правиле  "Водитель в радиусе X км"  необходимо в свете  внутреней реализации алгоритма фильтрации.
     Также следует понимать, что растояние расчитывается до метра - потому не всегда первая машина на стоянке поедет даже, если ей по пути-  поедет та машина которая реально по метражу ближе к клиенту.  


Автоматически назначать:

  • Простой (без заказа)- Max - назначать водителя c наибольшим простоем без заказа первым.

Для правильной работы должны быть включены параметры аналогичные примеру "Поиск водителя в радиусе 1 км "

Как указать ближайшие стоянки

Есть основной алгоритм Ближайшие стоянки, указанный в левой части окна Правил назначения водителей для него настроен фильтр (в правой части окна) с параметрами:

Ближайшие стоянки (nearstops) = <пусто>

Что означает, срабатывание правила для назначения водителя с одной из ближайшие стоянки, приписанной к основной стоянке, определившейся по адресу заказа.

К этому фильтру добавлено условие автоматического назначения с параметрами: Порядок = 1

Что означает, автоматическое назначение первого в очереди водителя из всех ближайших стоянок. Следовательно при Добавление заказа на закладке Выбор водителя уже будет автоматически назначен водитель, удоволетворяющий заданным правилам. Так как на ближайших стоянках могут быть несколько водителей, у коотрых будет порядок 1 - то тогда буджет автоматически назначен один из этих водителей в порядке нахождения стоянок "куда" (сверху-вниз) в справочнике ближайшие стоянки.

Аналогично работает и флажок Назначать вручную - только это правило будет применяться в ручном порядке.

Проверка работоспособности алгоритма автоназначения

Если после включения автоназначения Вам кажется что автоинформер неправильно назначает водителей можно проверить его работу используя лог.

Для этого в папке \cfg автоинформера найдите и отредактируйте файл Local.ini

В секции Log

Выставьте:

    StopUse=0 
    UseLog=1 
    Autoinformers=1

Тоесть секция примет вид:

[Log] StopUse=0 UseLog=1 Autoinformers=1

О значениях параметров можно прочесть тут: Local.ini

Этого достаточно, что бы в папке \log появился файл techlog.txt При каждой попытке автоназначить водителя будет писаться приблизительно вот такой текст: Для понимания того под какое именно правило был найден водитель- ищите в логе подстроку "Есть водитель под правило" (в даном примере лога она выделена жирным).


[08.01.2013 12:00:02 ] (Thread:5452) ProcessTask - пришло время назначить водителя
[08.01.2013 12:00:02 ] (Thread:5452) ScanOrdersDriverNoAnswer_v1 Вход
[08.01.2013 12:00:02 ] (Thread:5452) ScanOrdersDriverNoAnswer_v1 Заказ найден
[08.01.2013 12:00:02 ] (Thread:5452) ScanOrdersDriverNoAnswer_v1 msgidname1- должно существовать в базе
[08.01.2013 12:00:02 ] (Thread:5452) ScanForAutoCompleteOrders :Заказ 61284Не занят
[08.01.2013 12:00:02 ] (Thread:5452) ScanForAutoCompleteOrders :Заказ 61284 Условие необходимое для смены водителя истинно
[08.01.2013 12:00:02 ] (Thread:5452) ScanForAutoCompleteOrders :Nазначаем водителя на заказ не тендер
[08.01.2013 12:00:02 ] (Thread:5452) Set_Driver_Avto_v1:Ишем заказ 61284 6128499
[08.01.2013 12:00:02 ] (Thread:5452) Set_Driver_Avto:заказ найден
[08.01.2013 12:00:02 ] (Thread:5452) Set_Driver_Avto_V1(Ищем подходящего водителя
[08.01.2013 12:00:02 ] (Thread:5452) SETGeneralOfCommand 1
[08.01.2013 12:00:02 ] (Thread:5452) SETGeneralOfCommand 2
[08.01.2013 12:00:02 ] (Thread:5452) SETGeneralOfCommand 3
[08.01.2013 12:00:02 ] (Thread:5452) SETGeneralOfCommand 4
[08.01.2013 12:00:02 ] (Thread:5452) SETGeneralOfCommand 5
[08.01.2013 12:00:02 ] (Thread:5452) AllAlgorithmsClone.UseRouteToOrder= true
[08.01.2013 12:00:02 ] (Thread:5452) AllAlgorithmsClone.LengthToOrder =true
[08.01.2013 12:00:02 ] (Thread:5452) ProgOptions.InitialDriverDistMethod = _DIST_METHOD_EXTLIB = true
[08.01.2013 12:00:02 ] (Thread:5452) Библиотека поддерживает получение координат
[08.01.2013 12:00:02 ] (Thread:5452) SETGeneralOfCommand Берем старые координаты дома
[08.01.2013 12:00:02 ] (Thread:5452) Кординаты дома откуда gpslon=30,350161
[08.01.2013 12:00:02 ] (Thread:5452) Кординаты дома откуда gpslat=50,455357
[08.01.2013 12:00:02 ] (Thread:5452) SETGeneralOfCommand 7_1
[08.01.2013 12:00:02 ] (Thread:5452) SETGeneralOfCommand 8_1
[08.01.2013 12:00:02 ] (Thread:5452) ApplyRules 1
[08.01.2013 12:00:02 ] (Thread:5452) ApplyRules 2
[08.01.2013 12:00:02 ] (Thread:5452) ApplyRules 3
[08.01.2013 12:00:02 ] (Thread:5452) Расчитываем растояние до водителей по прямой заказ=61284 Адрес=Победы просп.,142
[08.01.2013 12:00:02 ] (Thread:5452) orders.lat=50,455357 orders.lon=30,350161
[08.01.2013 12:00:02 ] (Thread:5452) 834 статус=Свободен pifagor=40,774 gpslat=50,34462 gpslon=30,896843
[08.01.2013 12:00:02 ] (Thread:5452) 6837 статус=Свободен pifagor=40,776 gpslat=50,344612 gpslon=30,89686
[08.01.2013 12:00:02 ] (Thread:5452) 6852 статус=Свободен pifagor=40,766 gpslat=50,344953 gpslon=30,896887
[08.01.2013 12:00:02 ] (Thread:5452) 6881 статус=Свободен pifagor=10,052 gpslat=50,440803 gpslon=30,489832
[08.01.2013 12:00:02 ] (Thread:5452) 6825 статус=Свободен pifagor=40,765 gpslat=50,3447 gpslon=30,89675
[08.01.2013 12:00:02 ] (Thread:5452) 6812 статус=Свободен pifagor=18,997 gpslat=50,39432 gpslon=30,599835
[08.01.2013 12:00:02 ] (Thread:5452) 896 статус=Свободен pifagor=17,769 gpslat=50,44521 gpslon=30,599837
[08.01.2013 12:00:02 ] (Thread:5452) 6891 статус=Свободен pifagor=12,603 gpslat=50,451613 gpslon=30,527517
[08.01.2013 12:00:02 ] (Thread:5452) 6892 статус=Свободен pifagor=17,801 gpslat=50,430533 gpslon=30,597713
[08.01.2013 12:00:02 ] (Thread:5452) 824 статус=Свободен pifagor=40,78 gpslat=50,341355 gpslon=30,895258
[08.01.2013 12:00:02 ] (Thread:5452) 6894 статус=Свободен pifagor=22,297 gpslat=50,392625 gpslon=30,648163
[08.01.2013 12:00:02 ] (Thread:5452) 6838 статус=Свободен pifagor=10,057 gpslat=50,440535 gpslon=30,48983
[08.01.2013 12:00:02 ] (Thread:5452) 4164 статус=Свободен pifagor=10,093 gpslat=50,440665 gpslon=30,490377
[08.01.2013 12:00:02 ] (Thread:5452) 6826 статус=Свободен pifagor=10,096 gpslat=50,440598 gpslon=30,490407
[08.01.2013 12:00:02 ] (Thread:5452) 6830 статус=Свободен pifagor=10,086 gpslat=50,440748 gpslon=30,490305
[08.01.2013 12:00:02 ] (Thread:5452) 4162 статус=Свободен pifagor=10,06 gpslat=50,440817 gpslon=30,489947
[08.01.2013 12:00:02 ] (Thread:5452) 6871 статус=Занят pifagor=10000000 gpslat=50,440945 gpslon=30,489943
[08.01.2013 12:00:02 ] (Thread:5452) 6839 статус=Свободен pifagor=40,42 gpslat=50,351892 gpslon=30,895157
[08.01.2013 12:00:02 ] (Thread:5452) 6818 статус=Свободен pifagor=40,533 gpslat=50,345792 gpslon=30,893872
[08.01.2013 12:00:02 ] (Thread:5452) 6803 статус=Свободен pifagor=40,792 gpslat=50,341365 gpslon=30,895445
[08.01.2013 12:00:02 ] (Thread:5452) 6824 статус=Свободен pifagor=40,78 gpslat=50,341355 gpslon=30,895258
[08.01.2013 12:00:02 ] (Thread:5452) 6858 статус=Свободен pifagor=40,776 gpslat=50,341388 gpslon=30,895215
[08.01.2013 12:00:02 ] (Thread:5452) 6821 статус=Свободен pifagor=40,77 gpslat=50,341387 gpslon=30,895137
[08.01.2013 12:00:02 ] (Thread:5452) 4165 статус=Свободен pifagor=40,759 gpslat=50,341478 gpslon=30,895015
[08.01.2013 12:00:02 ] (Thread:5452) 6804 статус=Свободен pifagor=40,418 gpslat=50,352007 gpslon=30,895193
[08.01.2013 12:00:02 ] (Thread:5452) 6847 статус=Свободен pifagor=17,637 gpslat=50,440865 gpslon=30,597435
[08.01.2013 12:00:02 ] (Thread:5452) 6819 статус=Свободен pifagor=10,075 gpslat=50,440597 gpslon=30,490112
[08.01.2013 12:00:02 ] (Thread:5452) 6880 статус=Свободен pifagor=10,085 gpslat=50,440677 gpslon=30,490272
[08.01.2013 12:00:02 ] (Thread:5452) 6828 статус=Свободен pifagor=9,874 gpslat=50,467983 gpslon=30,487802
[08.01.2013 12:00:02 ] (Thread:5452) 6876 статус=Свободен pifagor=12,362 gpslat=50,444435 gpslon=30,523372
[08.01.2013 12:00:02 ] (Thread:5452) 6806 статус=Свободен pifagor=13,545 gpslat=50,425992 gpslon=30,535197
[08.01.2013 12:00:02 ] (Thread:5452) 886 статус=Свободен pifagor=10,052 gpslat=50,440458 gpslon=30,489745
[08.01.2013 12:00:02 ] (Thread:5452) 6808 статус=Свободен pifagor=10,723 gpslat=50,441193 gpslon=30,499497
[08.01.2013 12:00:02 ] (Thread:5452) 6811 статус=Свободен pifagor=15,003 gpslat=50,430597 gpslon=30,55778
[08.01.2013 12:00:02 ] (Thread:5452) ApplyRules 4
[08.01.2013 12:00:02 ] (Thread:5452) ApplyRules : начинаем расчет растояний до водителей
[08.01.2013 12:00:05 ] (Thread:5452) растояние до водителя  :
834  : 47,469
6837  : 47,47
6852  : 47,443
6881  : 12,329
6825  : 47,458
6812  : 23,625
896  : 22,864
6891  : 14,785
6892  : 22,004
824  : 47,907
6894  : 27,297
6838  : 12,544
4164  : 12,525
6826  : 12,518
6830  : 12,536
4162  : 12,333
6871  : 10000000
6839  : 47,975
6818  : 47,387
6803  : 47,894
6824  : 47,907
6858  : 47,911
6821  : 47,916
4165  : 47,812
6804  : 47,988
6847  : 22,539
6819  : 12,529
6880  : 12,53
6828  : 13,445
6876  : 14,497
6806  : 15,892
886  : 12,548
6808  : 12,464
6811  : 17,627
[08.01.2013 12:00:05 ] (Thread:5452) ApplyRules : расчет окончен
[08.01.2013 12:00:05 ] (Thread:5452) ApplyRules 5
[08.01.2013 12:00:05 ] (Thread:5452) ApplyRules 6
[08.01.2013 12:00:05 ] (Thread:5452) ApplyRules 7
[08.01.2013 12:00:05 ] (Thread:5452) SETGeneralOfCommand 9_1
[08.01.2013 12:00:05 ] (Thread:5452) Есть водитель под правило растояние до клиента
Подходяший водитель позывной=6881
Стоянка водителя =
Предпочтительная машина =0
Класы авто водитетеля =,-1,-1,-1,-1,-1
Координаты водителя gpslon =30,489832
Координаты водителя gpslan =50,440803
Растояние по прямой =10,052
Задержка на показ текуших =0
Время прошедшее с последнего обновления даных координат 74
Дистанция до заказа (если идет расчет растояний)=12,329

[08.01.2013 12:00:05 ] (Thread:5452) SETGeneralOfCommand 12
[08.01.2013 12:00:05 ] (Thread:5452) Set_Driver_Avto_V1(Водитель - Найден
[08.01.2013 12:00:05 ] (Thread:5452) Это водитель : 6881
[08.01.2013 12:00:05 ] (Thread:5452) IsOrderLocked result=занят
[08.01.2013 12:00:05 ] (Thread:5452) Set_Driver_Avto_V1 : Водитель 6881 Будет пытаться назначится на заказ
[08.01.2013 12:00:05 ] (Thread:5452) Set_Driver_Avto :На этом заказе есть уже водитьель. снимаем его
[08.01.2013 12:00:05 ] (Thread:5452) ProcessOrderVariables OrderID=61284
[08.01.2013 12:00:05 ] (Thread:5452) ProcessOrderVariables num=61284
[08.01.2013 12:00:05 ] (Thread:5452) Set_Driver_Avto :Выставляем снятому водителю статус водителю автоматически
[08.01.2013 12:00:05 ] (Thread:5452) ProcessOrderVariables OrderID=0
[08.01.2013 12:00:05 ] (Thread:5452) Set_Driver_Avto :сняли водителя с заказа
[08.01.2013 12:00:05 ] (Thread:5452) Set_Driver_Avto :устанвливаем статус заказу- без водителя
[08.01.2013 12:00:05 ] (Thread:5452) Set_Driver_Avto :Добавляем баллы наказания за то что не взял заказ
[08.01.2013 12:00:05 ] (Thread:5452) Set_Driver_Avto :Пытаемся назначить водителя 6881
[08.01.2013 12:00:05 ] (Thread:5452) ScanForAutoCompleteOrders :Поставили водителя 6881 на заказа 61284