Показать сообщение отдельно
Старый 06.02.2013, 09:44    | »»» |  #4
SK
Администратор
 
Аватар для SK
 
Регистрация: 27.05.2010
Сообщений: 29,990
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,0,0,0);
Таб.ВывестиСекцию("Шапка");
ТабТС.ВыбратьСтроки();
ПроцВсе=0;
ВсегоТС=0;
ОбработаноТС=0;
ТабТС.ВыбратьСтроки();
Пока ТабТС.ПолучитьСтроку() = 1 Цикл
 Если ТабТС.Метка = "+" Тогда ВсегоТС = ВсегоТС + 1; КонецЕсли;
КонецЦикла;
ТабТС.ВыбратьСтроки();
Пока ТабТС.ПолучитьСтроку() > 0 Цикл
 Если ТабТС.Метка = "" Тогда Продолжить; КонецЕсли;
 ТСПериодНач=Формат(ДатаЧисло(ВыбНачПериода),"Ч(0)2.0")+"."+Формат(ДатаМесяц(ВыбНачПериода),"Ч(0)2.0")+"."+Строка(ДатаГод(ВыбНачПериода))+" 00:00:00";
 ТСПериодКон=Формат(ДатаЧисло(ВыбКонПериода),"Ч(0)2.0")+"."+Формат(ДатаМесяц(ВыбКонПериода),"Ч(0)2.0")+"."+Строка(ДатаГод(ВыбКонПериода))+" 23:59:59";
 AG.SetGroupIndexByFileName(ТабТС.ГрФайл);
 AG.SetCarIndexByDevice(ТабТС.СерНом);
 AG.WaitForComputing(ТабТС.ГрФайл,ТабТС.СерНом,ТСПериодНач,ТСПериодКон,"GSM",1);
 ОбработаноТС=ОбработаноТС+1;
 Форма.Проц.Заголовок(Строка(Окр(100/ВсегоТС*ОбработаноТС,0))+" %");
 КолРейсов = AG.TripsNum;
 Таб.ВывестиСекцию("ШапкаТС");
    Если КолРейсов=0 Тогда 
  //Предупреждение("Рейсов не обнаружено"); 
 Иначе
  Для х = 1 По КолРейсов Цикл
   AG.TripIndex = х;
    НомРейса = х;
    НачРейса = AG.TripStartRealTime;
    КонРейса = AG.TripEndRealTime;
   AG.TripEntriesListTypeName="tank";
   AG.TripEntriesListKindName="num1"; // ДЛЯ БАКА 1 !!!
   КолЗИС = AG.TripEntriesNum;
   Если КолЗИС > 0 Тогда
    Таб.ВывестиСекцию("РЕЙС"); //После проверки КолЗИС, т.к. заголовки рейсов без заправок или сливов не выводим
    Для хх = 1 По КолЗИС Цикл
     AG.EntryIndex = хх;
     Уровень1Нач = Окр (AG.EntryTank1StartLevel,2);
     Уровень1Кон = Окр (AG.EntryTank1EndLevel,2);
     ЗИС_Адрес  = AG.EntryStartAddress;
     ЗИС_Нач   = AG.EntryStartRealTime;
     ЗИС_Кон   = AG.EntryEndRealTime;
     ЗИС_Длит = AG.EntryRealCont;
     Если Уровень1Нач > Уровень1Кон Тогда
      ЗИС = "СЛИВ";
      ЗИС_Кол = Уровень1Нач - Уровень1Кон;
     Иначе
      ЗИС = "ЗАПРАВКА";
      ЗИС_Кол = Уровень1Кон - Уровень1Нач;
     КонецЕсли;
     Если ЗИС = "СЛИВ" Тогда
      Таб.ВывестиСекцию("СЛИВ");
     Иначе
      Таб.ВывестиСекцию("ЗАПРАВКА");
     КонецЕсли;
    КонецЦикла;
   КонецЕсли;
  КонецЦикла;
 КонецЕсли;
 Таб.ВывестиСекцию("Подвал");
КонецЦикла;
Таб.ТолькоПросмотр(1);
Таб.Показать("ОтчетЗИС","");
КонецПроцедуры //ОтчетПоЗИС() - по заправкам и сливам
Вложения:
Тип файла: zip AG_TEST_OLE_1C_77_2012-11-22.ZIP (11.4 Кб, 100 просмотров)

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