Остаток топлива в баках 1с 7.7
Можете объяснить, пожалуйста, как получить остаток топлива в баках у определенной машины в определенное время. Через OLE в 1с 7.7.
Добавлено через 19 минут
не могу вставить код. но если автомобиль не находит по индексу, то берет какое-то левый автомобиль и выдает его остатки
Добавлено через 1 минуту
AG=СоздатьОбъект("AutoGRAPH.AutoGRAPH Automation"); // Создаем COM-объект
ddd=AG.WaitForInitializing(); // Ждем окончания инициализации объекта
НепройденныеКТ = 1; // Устанавливаем чекбокс "Показывать отчет с непройденными КТ" в положение "Да"
Если Вопрос("Документ надо сначала записать. Записать?","Да+Нет")="Да" Тогда
Записать();
ВыбратьСтроки();
ТекДок = СоздатьОбъект("Документ.Ин ентаризацияТоплива");
ТекДок.НайтиДокумент(Текущ ийДокумент());
Часы = "";
Минуты = "";
Секунды = "";
ТекДок.ПолучитьВремя(Часы, инуты,Секунды);
Если Число(Часы)<10 Тогда
Часы = "0"+Часы;
КонецЕсли;
Если Число(Минуты)<10 Тогда
Минуты = "0"+Минуты;
КонецЕсли;
Если Число(Секунды)<10 Тогда
Секунды = "0"+Секунды;
КонецЕсли;
ТСПериодНач=Формат(ДатаЧис ло(ДатаДок),"Ч(0)2.0")+"."+Формат( ДатаМесяц(ДатаДок),"Ч(0)2.0")+"." +Строка(ДатаГод(ДатаДок))+" 00:00:00";
ТСПериодКон=Формат(ДатаЧис ло(ДатаДок),"Ч(0)2.0")+"."+Формат( ДатаМесяц(ДатаДок),"Ч(0)2.0")+"." +Строка(ДатаГод(ДатаДок))+" "+Часы+":"+ Минуты+":"+Секунды;
Пока ПолучитьСтроку()=1 Цикл
Если ВыбАвтомобиль.ИДГлонасс > 0 Тогда
AG.WaitForComputing("*",ВыбАвтомобиль .ИДГлонасс,ТСПериодНач,ТСП риодКон,"GSM",1);
КолРейсов = AG.TripsNum;
Если КолРейсов=0 Тогда
//Предупреждение("Рейсов не обнаружено");
Иначе
AG.TripIndex = КолРейсов;
НомРейса = КолРейсов;
НачРейса = AG.TripStartRealTime;
КонРейса = AG.TripEndRealTime;
AG.TripEntriesListTypeName="tank";
КолТопливаВБаке = СоздатьОбъект("СписокЗначе ний");
КолТопливаВБаке.ВставитьЗ ачение(1,0);
AG.TripEntriesListKindName="num1"; // ДЛЯ БАКА 1 !!!
КолТопливаВБаке.ВставитьЗ ачение(1,AG.TripTank1EndLevel);
AG.TripEntriesListKindName="num2"; // ДЛЯ БАКА 1 !!!
КолТопливаВБаке.ВставитьЗ ачение(2,AG.TripTank2EndLevel);
AG.TripEntriesListKindName="num3"; // ДЛЯ БАКА 1 !!!
КолТопливаВБаке.ВставитьЗ ачение(3,AG.TripTank3EndLevel);
AG.TripEntriesListKindName="num4"; // ДЛЯ БАКА 1 !!!
КолТопливаВБаке.ВставитьЗ ачение(4,AG.TripTank4EndLevel);
Если ВыбТипДвигателя = Перечисление.ТипыДвигател й.Основной Тогда
КолТопливаВБакеАвтограф = КолТопливаВБаке.ПолучитьЗ ачение(ВыбАвтомобиль.Бак1О снДвиг)+КолТопливаВБаке.По учитьЗначение(ВыбАвтомоби ль.Бак2ОснДвиг);
ИначеЕсли ВыбТипДвигателя = Перечисление.ТипыДвигател й.Дополнительный Тогда
КолТопливаВБакеАвтограф = КолТопливаВБаке.ПолучитьЗ ачение(ВыбАвтомобиль.Бак1Д опДвиг)+КолТопливаВБаке.По учитьЗначение(ВыбАвтомоби ль.Бак2ДопДвиг);
КонецЕсли;
КонецЕсли;
ВыбОстатокТопливаПоГлонас с = КолТопливаВБакеАвтограф;
РазницаОстатков();
КонецЕсли;
КонецЦикла;
Иначе
Возврат;
КонецЕсли;
Добавлено через 1 минуту
отправил. но как-то криво
|