Ответ
 
Опции темы
Старый 18.04.2012, 12:36    | »»» |  #11
storm
Опытный пользователь
 
Аватар для storm
 
Регистрация: 22.12.2010
Сообщений: 2,121
storm is on a distinguished road
Отправить сообщение для storm с помощью Skype™
По умолчанию

Сообщение от kzz1C Посмотреть сообщение
все равно та же фигня.
какая?

г. Челябинск
Ахмедьянов Алексей Адлерович
storm вне форума   Ответить с цитированием
Старый 18.04.2012, 13:25    | »»» |  #12
csistra
ЭКСПЕРТ
 
Аватар для csistra
 
Москва, Липецк, Воронеж, Тамбов, Пенза, Орел
Регистрация: 29.06.2011
Сообщений: 6,754
csistra is on a distinguished road
По умолчанию

фиговая
П.С. сорь не удержался

Консалтинговая Компания ITEGRA (ООО «Айтегра») г. Москва
Мартыненко Сергей Владимирович, эксперт
csistra на форуме   Ответить с цитированием
Старый 18.04.2012, 13:51    | »»» |  #13
kzz1C
Начинающий
 
Аватар для kzz1C
 
АдептИС - софт для АПК
Регистрация: 15.12.2011
Сообщений: 14
kzz1C is on a distinguished road
По умолчанию

В общем, ошибку с индексом рейса я все равно получала, даже обновившись на 3.4.12, поэтому попробовала так:
Код:
    НачПериода = Дата(2011,8,23,0,0,0);
    КонПериода = Дата(2011,8,31,23,59,0);    
    // Вставить содержимое обработчика.
    ДатаДляАвтографаНачПериода = Формат(НачПериода,"ДФ='dd.MM.yy H:mm:ss'");
    ДатаДляАвтографаКонПериода = Формат(КонПериода,"ДФ='dd.MM.yy H:mm:ss'");
    WorkSensor = 1; WorkWidth = 10;
    Если Автограф = Неопределено Тогда ИнициализироватьCOMОбъект(); КонецЕсли;    
    Автограф.WaitForComputing(
    "ООО Вектор.ini",
    153508,
    ДатаДляАвтографаНачПериода,ДатаДляАвтографаКонПериода,"GSM",1);
    Автограф.WaitForFieldsComputing(
    "ООО Вектор.ini",
    153508,
    ДатаДляАвтографаНачПериода,ДатаДляАвтографаКонПериода,"GSM",WorkSensor,WorkWidth);
    Временный = "D:\1.dbf"; Автограф.TripIndex = 1; 
    Попытка 
        Автограф.ExportListToFile(Временный,"fields","",0,1);
    Исключение 
        Автограф.PropertyName = "Last_Error";
        Сообщить("Не удалось экспортировать данные: "+ОписаниеОшибки()+Символы.ПС + "Сообщение Автографа: "+Автограф.PropertyValue);
    КонецПопытки;
Ошибка: Не указан тип или вид списка записей.

Добавлено через 6 минут
Пробую без расчета рейсов:
Код:
    Автограф.WaitForFieldsComputing(
    "ООО Вектор.ini",
    153508,
    ДатаДляАвтографаНачПериода,ДатаДляАвтографаКонПериода,"GSM",WorkSensor,WorkWidth);
    Временный = "D:\1.dbf";
    Попытка 
        Автограф.ExportListToFile(Временный,"fields","",0,1);
    Исключение 
        Автограф.PropertyName = "Last_Error";
        Сообщить("Не удалось экспортировать данные: "+ОписаниеОшибки()+Символы.ПС + "Сообщение Автографа: "+Автограф.PropertyValue);
    КонецПопытки;
Ошибка: Неверный индекс рейса (0).
kzz1C вне форума   Ответить с цитированием
Старый 18.04.2012, 21:15    | »»» |  #14
SK
Администратор
 
Аватар для SK
 
Регистрация: 27.05.2010
Сообщений: 29,974
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™
По умолчанию

Пример. Машинки берутся из таблицы ТС.

Код:
Процедура ОтчетПоПолям()
 ТабТС.ВыбратьСтроки();
 ПроцВсе=0;
 ВсегоТС=0;
 ОбработаноТС=0;
 Ширина = 8;
 ФайлВыгрузки = "D:\!\FIELDS.DBF";
 ТабТС.ВыбратьСтроки();
 Пока ТабТС.ПолучитьСтроку() = 1 Цикл
  Если ТабТС.Метка = "+" Тогда ВсегоТС = ВсегоТС + 1; КонецЕсли;
 КонецЦикла;
 ТабТС.ВыбратьСтроки();
 Пока ТабТС.ПолучитьСтроку() > 0 Цикл
  Если ТабТС.Метка = "" Тогда Продолжить; КонецЕсли;
  ТСПериодНач=Формат(ДатаЧисло(ВыбНачПериода),"Ч(0)2.0")+"."+Формат(ДатаМесяц(ВыбНачПериода),"Ч(0)2.0")+"."+Строка(ДатаГод(ВыбНачПериода))+" 00:00:00";
  ТСПериодКон=Формат(ДатаЧисло(ВыбКонПериода),"Ч(0)2.0")+"."+Формат(ДатаМесяц(ВыбКонПериода),"Ч(0)2.0")+"."+Строка(ДатаГод(ВыбКонПериода))+" 23:59:59";
  // AG.SetGroupIndexByFileName(ТабТС.ГрФайл);
  //AG.SetCarIndexByDevice(ТабТС.СерНом);
  //AG.WaitForComputing(ТабТС.ГрФайл,ТабТС.СерНом,ТСПериодНач,ТСПериодКон,"GSM",1);
  AG.WaitForFieldsComputing(ТабТС.ГрФайл,ТабТС.СерНом,ТСПериодНач,ТСПериодКон,"GSM",Ширина,0);
  AG.TripIndex = 1;
        AG.ExportListToFile(ФайлВыгрузки,"fields","",1,1);
  ОбработаноТС=ОбработаноТС+1;
  Форма.Проц.Заголовок(Строка(Окр(100/ВсегоТС*ОбработаноТС,0))+" %");
 КонецЦикла;
 Предупреждение("ГОТОВО");
КонецПроцедуры //ОтчетПоПолям()
Код:
Процедура ЗаполнитьТаблицуТС()
 // Инициализируем таблицу групп ТС
 ТабГрупп.УдалитьСтроки();
 // Инициализируем таблицу ТС
 ТабТС.УдалитьСтроки();
 ЧислоГрупп=AG.GroupsNum; //Определяем число групп ТС
 Если ЧислоГрупп>0 Тогда
  Для х = 1 По ЧислоГрупп Цикл
   AG.GroupIndex = х; //Передаем индекс (номер) группы в АГ 
   ГрЧислоТС = AG.GroupCarsNum; //Определяем число ТС в группе
   Если ГрЧислоТС > 0 Тогда  //Если кол-во ТС в текущей группе > 0 тогда выводим ТС группы, пустую группу - не выводим
    ТабГрупп.НоваяСтрока();
    ТабГрупп.Группа  = AG.GroupName;      //Название группы ТС
    Для хх = 1 По ГрЧислоТС Цикл
     AG.CarIndex = хх;                 //Передаем индекс (номер) ТС внутри группы в АГ
     ТабТС.НоваяСтрока();
     ТабТС.Метка   = "";               //Метка выбора - снята
     ТабТС.Группа  = AG.GroupName;     //Название группы ТС
     ТабТС.СерНом  = AG.CarDevice;     //Сер. номер контроллера
     ТабТС.Марка   = AG.CarModel;      //Марка ТС
     ТабТС.НомерТС = AG.CarNumber;     //Гос. номер ТС
     ТабТС.ГрФайл  = AG.GroupFileName; //Файл группы ТС (нужен для расчета)
    КонецЦикла;
   КонецЕсли;
  КонецЦикла;
 КонецЕсли;
КонецПроцедуры // ЗаполнитьТаблицуТС()
//****************************************************************************************************************************
// Предопределенная процедура ПриОткрытии()
// Инициализируем форму, таблицы и начальные значения переменных, создаем COM-объект
//****************************************************************************************************************************
Процедура ПриОткрытии()
 ОчиститьОкноСообщений();
 Форма.ИспользоватьСлой("Основной");
 //Сообщить(AG.CurrentVersion); // Текущая версия ПО «АвтоГРАФ»
 Форма.ИспользоватьЗакладки(1);
 AG=СоздатьОбъект("AutoGRAPH.AutoGRAPHAutomation"); // Создаем COM-объект
 ddd=AG.WaitForInitializing();                      // Ждем окончания инициализации объекта
 НепройденныеКТ = 1;                                // Устанавливаем чекбокс "Показывать отчет с непройденными КТ" в положение "Да"
 ВыбНачПериода  = ТекущаяДата();                    // Устанавливаем начальную дату отчета на начало текущего дня
 ВыбКонПериода  = ТекущаяДата();                    // Устанавливаем конечную дату отчета на конец текущего дня
 // Инициализируем таблицу групп ТС
 ТабГрупп.УдалитьСтроки();
 ТабГрупп.НоваяКолонка("Группа",,,,"Группа (+/-)",20,,1);
 // Инициализируем таблицу ТС
 ТабТС.УдалитьСтроки();
 ТабТС.НоваяКолонка("Метка",,,,"Х",3,,1);
 ТабТС.НоваяКолонка("Группа",,,,"Группа",20,,1);
 ТабТС.НоваяКолонка("СерНом",,,,"№ АГ",8,,1);
 ТабТС.НоваяКолонка("Марка",,,,"Марка/Модель",30,,1);
 ТабТС.НоваяКолонка("НомерТС",,,,"Рег. № ТС",20,,1);
 ТабТС.НоваяКолонка("ГрФайл",,,,"Файл группы",20,,1);
 ЗаполнитьТаблицуТС(); // Заполняем таблицу ТС и групп ТС
КонецПроцедуры //ПриОткрытии

ООО «ТехноКом», г. Челябинск
Самцов Константин Юрьевич - зам. директора по коммерческой деятельности
SK вне форума   Ответить с цитированием
Старый 19.04.2012, 06:17    | »»» |  #15
kzz1C
Начинающий
 
Аватар для kzz1C
 
АдептИС - софт для АПК
Регистрация: 15.12.2011
Сообщений: 14
kzz1C is on a distinguished road
По умолчанию

Сообщение от SK Посмотреть сообщение
AG.WaitForFieldsComputing(ТабТС.ГрФайл, ТабТС.СерНом,ТCПериодНач,ТС ПериодКон,"GSM",Ширина,0);
А в документации у вас другой порядок аргументов (не Ширина,Сенсор, а Сенсор,Ширина). Впрочем, сейчас попробую.

Последний раз редактировалось kzz1C; 19.04.2012 в 06:39.
kzz1C вне форума   Ответить с цитированием
Старый 04.05.2012, 09:20    | »»» |  #16
kzz1C
Начинающий
 
Аватар для kzz1C
 
АдептИС - софт для АПК
Регистрация: 15.12.2011
Сообщений: 14
kzz1C is on a distinguished road
По умолчанию

нашла еще баг (ну или какую-то мою недоработку) по расчету полей - порядок действий следующий.
На одном и том же экземпляре Автографа по OLE запускаю процедуру расчета по очереди для нескольких ТС - при этом, если результаты по данному ТС отсутствуют (т.е. оно не ездило по полям), а по предыдущему были, то выгружаются результаты по предыдущему ТС. Если запускать перед каждым расчетом новый экземпляр, то выгружается пустой dbf.
kzz1C вне форума   Ответить с цитированием
Старый 04.05.2012, 09:43    | »»» |  #17
programmer
ТехноКом
 
Аватар для programmer
 
Регистрация: 17.12.2010
Сообщений: 2,865
programmer is on a distinguished road
По умолчанию

kzz1C, исправим

ООО «ТехноКом», г. Челябинск
Макаров Константин Евгеньевич - Главный Программист ООО «ТехноКом» (диспетчерское ПО «АвтоГРАФ»)
programmer вне форума   Ответить с цитированием
Ответ


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

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

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

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


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


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