17.09.2015, 10:34
|
| »»» |
#1
|
Начинающий
Екатеринбург, ООО ЕСК
Регистрация: 18.09.2012
Сообщений: 38
|
Запрос из 1с 8 через оле в автограф, ответ из автограф не в файл, а в массив?
Добрый день!
Вопрос наверно к SK...
Методика запроса из 1с 8 в автограф через оле обычно использую так...
Как с начало научили....
делаю через файл dbf...
ИмяФайлаБазыDBF= строка("C:\kran.dbf");
Попытка
AG.ExportDataToFile(ИмяФайлаБазыDBF,Р еквизитЗапроса,1);
Исключение
AG.PropertyName = "Last_Error";
Сообщить(AG.PropertyValue);
Сообщить("Не удалось экспортировать данные: "+ОписаниеОшибки());
КонецПопытки;
БД = Новый XBase;
БД.ОткрытьФайл(ИмяФайлаБаз ыDBF,,Истина);
Пока БД.Следующая() Цикл
.................................................. .............................
Когда просматривал ответы, вспомнил, что администратор SK предлагал ... зачем через файл, можно напрямую в массив...
Вопрос... как ?
Перед каждым запросом файл dbf создается 1с на лету c нужными полями и в него падают данные. А в массив как? Просто заместо файла создать любой массив, а ответ из автограф сам создаст структуру массива какую ему надо и туда все "выстрелит"? Или массив также создать с такими же полями, как для формата dbf ?
|
|
|
|
17.09.2015, 10:38
|
| »»» |
#2
|
Администратор
Регистрация: 27.05.2010
Сообщений: 29,956
|
Нет, посмотрите работу с Entry.
ООО «ТехноКом», г. Челябинск
Самцов Константин Юрьевич - зам. директора по коммерческой деятельности
|
|
|
|
17.09.2015, 10:41
|
| »»» |
#3
|
Начинающий
Екатеринбург, ООО ЕСК
Регистрация: 18.09.2012
Сообщений: 38
|
Знаю, что работа с массивами и структурами в 1с работает практически мгновенно.
Вот и думаю, оптимизировать все запросы из 1с в автограф...
Добавлено через 38 секунд
Что такое Entry?
|
|
|
|
17.09.2015, 10:45
|
| »»» |
#4
|
Администратор
Регистрация: 27.05.2010
Сообщений: 29,956
|
а потом перебор EntryIndex от 1 до TripEntriesNum
ООО «ТехноКом», г. Челябинск
Самцов Константин Юрьевич - зам. директора по коммерческой деятельности
|
|
|
|
17.09.2015, 10:45
|
| »»» |
#5
|
Начинающий
Екатеринбург, ООО ЕСК
Регистрация: 18.09.2012
Сообщений: 38
|
так?
для каждого стр из ТабТС цикл
Если стр.Метка = ложь Тогда Продолжить; КонецЕсли;
ТСПериодНач=(НачПериода111) ;
ТСПериодКон=(КонПериода111) ;
AG.SetGroupIndexByFileName(стр.ГрФайл);
AG.SetCarIndexByDevice(стр.СерНом);
AG.WaitForComputing(стр.ГрФайл,стр.С рНом,ТСПериодНач,ТСПериод он,"GSM",1);
КолРейсов = AG.TripsNum;
Если КолРейсов=0 Тогда
//Предупреждение("Рейсов не обнаружено");
Иначе
Для х = 1 По КолРейсов Цикл
AG.TripIndex = х;
AG.TripEntriesListTypeName="sensor_on";
AG.TripEntriesListKindName="num1";
КолСобытий = AG.TripEntriesNum;
Если КолСобытий > 0 Тогда
Для хх = 1 По КолСобытий Цикл
AG.EntryIndex = хх;
Пробегг = Пробегг + AG.TripDistance/1000;
прервать;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
Указываем нужные режимы и ловим события?
|
|
|
|
17.09.2015, 10:50
|
| »»» |
#6
|
Администратор
Регистрация: 27.05.2010
Сообщений: 29,956
|
Сообщение от Леонид Борисович
|
Пробегг = Пробегг + AG.TripDistance/1000;
|
Это относится к самому рейсу и для этого достаточно:
Код:
|
Для х = 1 По КолРейсов Цикл
AG.TripIndex = х;
Пробегг = Пробегг + AG.TripDistance/1000;
КонецЦикла; |
ООО «ТехноКом», г. Челябинск
Самцов Константин Юрьевич - зам. директора по коммерческой деятельности
|
|
|
|
17.09.2015, 10:53
|
| »»» |
#7
|
Администратор
Регистрация: 27.05.2010
Сообщений: 29,956
|
Код:
|
Если КолРейсов=0 Тогда
//Предупреждение("Рейсов не обнаружено");
Иначе
Для х = 1 По КолРейсов Цикл
AG.TripIndex = х;
AG.TripEntriesListTypeName="checkpoints";
AG.TripEntriesListKindName="points";
КолКТ = AG.TripEntriesNum;
Если КолКТ > 0 Тогда
Для хх = 1 По КолКТ Цикл
AG.EntryIndex = хх;
ТабКТ.НоваяСтрока();
ТабКТ.КТИД = AG.EntryID;
ТабКТ.КТИмя = AG.EntryStartName;
ТабКТ.КТАдрес = AG.EntryStartAddress;
ТабКТ.КТИДП = AG.EntryStartIDP;
ТабКТ.КТПриб = AG.EntryStartRealTime;
ТабКТ.КТОтпр = AG.EntryEndRealTime;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецЕсли; |
ООО «ТехноКом», г. Челябинск
Самцов Константин Юрьевич - зам. директора по коммерческой деятельности
|
|
|
|
17.09.2015, 11:00
|
| »»» |
#8
|
Начинающий
Екатеринбург, ООО ЕСК
Регистрация: 18.09.2012
Сообщений: 38
|
нужен контроль работы крановой установки "ком2"...
меняем
AG.TripEntriesListTypeName="sensor_on";
AG.TripEntriesListKindName="num2";
так?
|
|
|
|
17.09.2015, 11:05
|
| »»» |
#9
|
Администратор
Регистрация: 27.05.2010
Сообщений: 29,956
|
Да.
ООО «ТехноКом», г. Челябинск
Самцов Константин Юрьевич - зам. директора по коммерческой деятельности
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 13:00. Часовой пояс GMT.
|
|