Ответ
 
Опции темы
Старый 27.12.2012, 13:37    | »»» |  #11
SK
Администратор
 
Аватар для SK
 
Регистрация: 27.05.2010
Сообщений: 29,956
SK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud ofSK has much to be proud of
Отправить сообщение для SK с помощью Skype™
По умолчанию

Леонид Борисович, обратите внимание на отчет "Список транспорта" из демо для 1С, приложенного к архиву с OLE.
Нет необходимости работать через DBF - тут как раз Вы получаете состояние одной или всех машин на момент запроса.
Причем безо всякого нудного ожидания расчета !!!

Код:
//****************************************************************************************************************************
// Процедура СписокГрупп()
// Выводит отчет по группам ТС
//****************************************************************************************************************************
Процедура СписокГрупп()
ОчиститьОкноСообщений();
ТекВер=AG.CurrentVersion; // Текущая версия ПО «АвтоГРАФ»
ЧислоГрупп=AG.GroupsNum;  // Количество групп ТС
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("ГруппыТС");
Таб.ВывестиСекцию("Шапка");
Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
Если ЧислоГрупп>0 Тогда
Для х = 1 По ЧислоГрупп Цикл
AG.GroupIndex = х;         //******************************************************************************
          ГрИмя     = AG.GroupName;       //
 ГрАдрес   = AG.GroupAddress;    //
 ГрКонтакт = AG.GroupContacts;   // Выводим информацию по группе ТС
 ГрФайлТС  = AG.GroupFileName;   //
 ГрЧислоТС = AG.GroupCarsNum;    //
Таб.ВывестиСекцию("ГруппаТС");    //******************************************************************************
Если ГрЧислоТС > 0 Тогда
 Таб.ВывестиСекцию("ШапкаТС");
 Для хх = 1 По ГрЧислоТС Цикл
  AG.CarIndex = хх;
      СерНом      = AG.CarDevice;                     //****************************************************
   Марка       = AG.CarModel;                        //
   НомерТС     = AG.CarNumber;                       //
   Название    = AG.CarAlias;                        //
   НомерТел    = AG.CarTelNum;                       //
   КонтрТ      = AG.CarCheckPointsFile;              //
   Широта      = Окр(AG.CarLatitude,5);              //
   Долгота     = Окр(AG.CarLongitude,5);             //
   Направление = Окр(180 * AG.CarCourse / 3.1415,5); //
   Скорость    = Окр(AG.CarSpeed,5);                 // Выводим информацию по ТС
   Простой     = AG.CarParkTime;                     //
   Если Широта = -1 Тогда                            //
    Широта      = "";                             //
    Долгота     = "";                             //
    Направление = "";                             //
    Скорость    = "";                             //
    Простой     = "";                             //
   КонецЕсли;                                        //
   ПослЗапись  = AG.CarLastTime;                     //
   ПослТ       = AG.CarLastATime;                    //
  Таб.ВывестиСекцию("ТС");                            //****************************************************
 КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Таб.ВывестиСекцию("Подвал");
Таб.ТолькоПросмотр(1);
Таб.Показать("СПИСОК ГРУПП","");
КонецПроцедуры
И, получив широту и долготу последнего принятого местоположения ТС, с помощью функции FindNearestAddress получить ближайший адрес.
При этом, надо, конечно, обращать внимание на время последних полученных координат, чтоб отсеять ТС, по которым не было данных и, кроме того, если адрес не получается получить в первой итерации из-за отсутствия близлежащих объектов с адресом, то можно запросить адрес повторно, увеличив значение MaxDistance.


ООО «ТехноКом», г. Челябинск
Самцов Константин Юрьевич - зам. директора по коммерческой деятельности
SK вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 01:33. Часовой пояс GMT.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot