Показать сообщение отдельно
Старый 25.12.2014, 07:20    | »»» |  #6
lefion
Начинающий
 
Аватар для lefion
 
Белгород
Регистрация: 24.12.2014
Сообщений: 17
lefion is on a distinguished road
По умолчанию

Сообщение от SK Посмотреть сообщение
Документация давно идет в комплекте с ПО - в инсталляторе...
Как-то не думал что в инсталляции есть документация. Жаль что её не больше чем уже давно нашел в интернете. И то же нет примеров...

Сообщение от SK Посмотреть сообщение
массивКоординатРейса = AG.TrackCrdsArray;

Это Вам не поможет, т.к. 1С не работает с такими штуками...
Вообще 1С умеет работать с COMSafeArray...
Код:
AG.TrackCrdsArray.Выгрузить()
В нашем случае получается одномерный массив.

Но проблема даже не в этом, а в том что при попытке установить значение CrdEntryIndex для обхода списка AutoGRAPH отваливается. Ошибок я не вижу.

Сообщение от SK Посмотреть сообщение
Во-первых, Вы перепутали переменные:
Код:
колРейсов = AG.TripsNum;
	Для в = 1 По числоМашин Цикл
	    AG.TripIndex = в;
Вы присваиваете индексу рейса значения от 1 до числоМашин, а не до колРейсов...
Действительно, при наборе кода в топике я ошибся. Вот фрагмент кода из 1С:
Код:
AG  = Новый COMОбъект("AutoGRAPH.AutoGRAPHAutomation");
ИнициализацияAG = AG.WaitForInitializing();
ЧислоГрупп = AG.GroupsNum;
Для а = 1 По ЧислоГрупп Цикл
    AG.GroupIndex = а;
    ЧислоТС = AG.GroupCarsNum;
    Для б = 1 По ЧислоТС Цикл
        AG.CarIndex = б;
        AG.SetGroupIndexByFileName( AG.GroupFileName );
        AG.SetCarIndexByDevice( AG.CarDevice );
        AG.WaitForComputing( AG.GroupFileName, AG.CarDevice, НачалоПериода, КонецПериода, "GSM", 1 );
        ЧислоРейсов = AG.TripsNum;
        Для в = 1 По ЧислоРейсов Цикл
            AG.TripIndex = в;
            Если AG.TripMotor1Fuel > 0 Тогда
                Нов = ВремТаб.Добавить();
                Нов.Индекс              = в;
                Нов.Код                 = AG.CurrentCarDevice;
                Нов.Группа               = AG.GroupName;
                Нов.Модель               = AG.CarModel;
                Нов.Госномер             = AG.CarNumber;
                Нов.Расход               = AG.TripMotor1Fuel;
                Нов.Пробег               = AG.TripDistance;
                Нов.ВремяВыезда          = AG.TripRealCont;
                Нов.ВодительID           = AG.TripDriverID;
                Нов.ВодительИмя          = AG.TripDriverName;
                Нов.НачальнаяТочка       = AG.TripStartName;
                Нов.КонечнаяТочка        = AG.TripEndName;
                Нов.НачальнаяШирока      = AG.TripStartLatitude;
                Нов.НачальнаяДолгода     = AG.TripStartLongitude;
                Нов.КонечнаяШирота       = AG.TripEndLatitude;
                Нов.КонечнаяДолгота      = AG.TripEndLongitude;
                Нов.НачальноеВремя       = AG.TripStartRealTime;
                Нов.КонечноеВремя        = AG.TripEndRealTime;
                Нов.СкоростьСредняя      = AG.TripAverSpeed;
                Нов.СкоростьМаксимальная = AG.TripMaxSpeed;
                Нов.КолвоКординат        = AG.TripCrdEntriesNum;
                Нов.Координаты           = AG.TrackCrdsStr;
                ЧислоКоординатныхЗаписей = AG.TripCrdEntriesNum;
                Для г = 1 По ЧислоКоординатныхЗаписей Цикл
                    AG.CrdEntryIndex = г;
                    Время  = AG.CrdEntryTime;
                    Долгота  = AG.CrdEntryLongitude;
                    Широта  = AG.CrdEntryLatitude;
                    Пробег  = AG.CrdEntryDistance;
                    Скорость = AG.CrdEntrySpeed;
                    Вход1  = AG.CrdEntrySensor1;
                    Вход2  = AG.CrdEntrySensor2;
                    LLS1  = AG.CrdEntryLLS1;
                    LLS2  = AG.CrdEntryLLS2;
                    // ...
                КонецЦикла;
            КонецЕсли;
        КонецЦикла;
    КонецЦикла;
КонецЦикла;
Добавлено через 9 минут
Утром попробовал на чистой машине запустить обработку из пустой файловой базы с АвтоГРАФ-ом версии 4.0.6 с одной группой и 12 машинами (сразу после загрузки онлайновых данных).

Отработало без ошибок.
Помогло то ли что автограф на локальной машине отработал, то ли что база файловая и все работало с правами пользователя, то ли на чистой машине нет косяков с COM.

Кстати, почему открывается окно программы ?
Означает ли это что на сервере COM работать не будет (из-за того что будет вызвано из службы) из-за того что не сможет окно создать ?
lefion вне форума   Ответить с цитированием