![]() |
Остаток топлива в баках 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 минуту отправил. но как-то криво |
Цитата:
Код:
ТСПериодНач= ??? ; // Вставить Начало исследуемого периода, чтоб между началом и концом были записи по топливу |
Текущее время: 07:35. Часовой пояс GMT. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot