1c (оле) <=> Автограф, запрос по заправкам топлива
Добрый день!
Задача такая... Необходимо получить данные запросом из 1с через оле в автограф по заправкам за период. Начало заправки, окончание, количество литров заправки.
Вроде все просто и понятно, но... Смотрим в описание полей dbf...
Для запроса через
AG.ExportDataToFile(ИмяФайлаБазыDBF,Р еквизитЗапроса,1);
Тип: 0 – координаты;
1 – аналоговые данные;
2 – счётчики 1-2;
3 – счётчики 3-4;
4 – характеристика движения;
5 – событие;
6 – 1-wire ID водителя;
7 – 1-wire температура 1-4;
8 – 1-wire температура 5-8;
9 – RS-485: датчики LLS 1-4;
10 – RS-485: датчики LLS 5-8;
11 – CAN1: скор., упр,. расход;
12 – CAN2: уровни топлива;
13 – CAN3: обороты, моточасы;
14 – CAN4: температура;
15 – CAN5: пробеги общ. и сут.;
16 – CAN6: нагрузка на колёса;
17 – CAN7: записи пользователя;
18 – счётчики 5-6;
19 – счётчики 7-8;
20 – RS-485: объём заправки;
21 – RS-485: расход топлива;
22 – RS-485: прод.-сть. заправки;
23 – RS-485: расширитель входов;
24 – RS-485: пассажиропоток;
25 – RS-485: вес (уровень);
26 – CAN: коды ошибок;
27 – CAN: калькулированный расход
Тут вроде ясно, строчка 22 – RS-485: прод.-сть. заправки, она нам и нужна.
т.е. в нашем случае AG.ExportDataToFile(ИмяФайлаБазыDBF,22 ,1); - это для продолжительности заправки,
для объема заправки ставим соответственно:
AG.ExportDataToFile(ИмяФайлаБазыDBF,20 ,1);
Далее делаем запрос в 1с ке
ДанныеОбработеКрановойУст ановки.Очистить();
AG=Новый COMОбъект("AutoGRAPH.AutoGRAPHAutomation"); // Создаем COM-объект
ddd=AG.WaitForInitializing(); // Ждем окончания инициализации объекта
НепройденныеКТ = 1; // Устанавливаем чекбокс "Показывать отчет с непройденными КТ" в положение "Да"
ТабГрупп.очистить();
ТабКТ.очистить();
ЗаполнитьТаблицуТС(Кран_);
Для каждого стр из ТабТС цикл
ТСПериодНач=НачалоДня(НачП ериода) ;
ТСПериодКон=КонецДня(КонПе риода) ;
AG.SetGroupIndexByFileName(стр.ГрФайл);
AG.SetCarIndexByDevice(стр.СерНом);
AG.WaitForComputing(стр.ГрФайл,стр.С рНом,ТСПериодНач,ТСПериод он,"GSM",1);
КолРейсов = AG.TripsNum;
ФайлКТ = AG.CarCheckPointsFile;
если КолРейсов > 0 тогда
AG.TripIndex = 1;
конецесли ;
СерийныйНомерКрана = стр.Серном ;
ИмяФайлаБазыDBF= строка("D:\kran.dbf");
Попытка
AG.ExportDataToFile(ИмяФайлаБазыDBF,22 ,1);
Исключение
AG.PropertyName = "Last_Error";
Сообщить(AG.PropertyValue);
Сообщить("Не удалось экспортировать данные: "+ОписаниеОшибки());
КонецПопытки;
Далее должен сформироваться файл dbf в него заходим и перебираем, берем что нам надо.
Но то что надо нам, нет.
Похоже что ExportDataToFile не воспринимает параметр 22.
Подскажите пожалуйста в чем засада?!
Может где то какой то параметр надо поставить?!
Добавлено через 51 минуту
система почему то обрезает сообщение. Чтобы посмотреть все, нажмите на расширенный режим...
|