Ответ
 
Опции темы
Старый 17.09.2015, 10:34    | »»» |  #1
Леонид Борисович
Начинающий
 
Аватар для Леонид Борисович
 
Екатеринбург, ООО ЕСК
Регистрация: 18.09.2012
Сообщений: 38
Леонид Борисович is on a distinguished road
По умолчанию Запрос из 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
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™
По умолчанию

Нет, посмотрите работу с Entry.

ООО «ТехноКом», г. Челябинск
Самцов Константин Юрьевич - зам. директора по коммерческой деятельности
SK вне форума   Ответить с цитированием
Старый 17.09.2015, 10:41    | »»» |  #3
Леонид Борисович
Начинающий
 
Аватар для Леонид Борисович
 
Екатеринбург, ООО ЕСК
Регистрация: 18.09.2012
Сообщений: 38
Леонид Борисович is on a distinguished road
По умолчанию

Знаю, что работа с массивами и структурами в 1с работает практически мгновенно.
Вот и думаю, оптимизировать все запросы из 1с в автограф...

Добавлено через 38 секунд
Что такое Entry?
Леонид Борисович вне форума   Ответить с цитированием
Старый 17.09.2015, 10:45    | »»» |  #4
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™
По умолчанию



а потом перебор EntryIndex от 1 до TripEntriesNum


ООО «ТехноКом», г. Челябинск
Самцов Константин Юрьевич - зам. директора по коммерческой деятельности
SK вне форума   Ответить с цитированием
Старый 17.09.2015, 10:45    | »»» |  #5
Леонид Борисович
Начинающий
 
Аватар для Леонид Борисович
 
Екатеринбург, ООО ЕСК
Регистрация: 18.09.2012
Сообщений: 38
Леонид Борисович is on a distinguished road
По умолчанию

так?
для каждого стр из ТабТС цикл
Если стр.Метка = ложь Тогда Продолжить; КонецЕсли;
ТСПериодНач=(НачПериода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
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™
По умолчанию

Сообщение от Леонид Борисович Посмотреть сообщение
Пробегг = Пробегг + AG.TripDistance/1000;
Это относится к самому рейсу и для этого достаточно:
Код:
Для х = 1 По КолРейсов Цикл
   AG.TripIndex = х;
   Пробегг = Пробегг + AG.TripDistance/1000; 
КонецЦикла;

ООО «ТехноКом», г. Челябинск
Самцов Константин Юрьевич - зам. директора по коммерческой деятельности
SK вне форума   Ответить с цитированием
Старый 17.09.2015, 10:53    | »»» |  #7
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™
По умолчанию

Код:
	    Если КолРейсов=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;
					КонецЦикла;
				КонецЕсли;
			КонецЦикла;
		КонецЕсли;

ООО «ТехноКом», г. Челябинск
Самцов Константин Юрьевич - зам. директора по коммерческой деятельности
SK вне форума   Ответить с цитированием
Старый 17.09.2015, 11:00    | »»» |  #8
Леонид Борисович
Начинающий
 
Аватар для Леонид Борисович
 
Екатеринбург, ООО ЕСК
Регистрация: 18.09.2012
Сообщений: 38
Леонид Борисович is on a distinguished road
По умолчанию

нужен контроль работы крановой установки "ком2"...
меняем
AG.TripEntriesListTypeName="sensor_on";
AG.TripEntriesListKindName="num2";

так?
Леонид Борисович вне форума   Ответить с цитированием
Старый 17.09.2015, 11:05    | »»» |  #9
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™
По умолчанию

Да.

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


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

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

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

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


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


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