Пока ДокПутЛист.ПолучитьДокумент() > 0 Цикл
Если (Водитель = ДокПутЛист.Водитель1) и (Автомобиль = ДокПутЛист.Автомобиль) Тогда
Если ДокПутЛист.ДокументВыполнения.Выбран() = 1 Тогда
Выполнение = ДокПутЛист.ДокументВыполнения.ТекущийДокумент();
Выполнение.ВыбратьСтроки();
Пока Выполнение.ПолучитьСтроку() = 1 Цикл
ТЗГ.НоваяСтрока();
ТЗГ.ДокПутЛист = ДокПутЛист;
ТЗГ.НомерГруппы = Выполнение.НомерГруппы;
ТЗГ.РасходГСМ = Выполнение.РасходГСМ;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецЦикла;
ТЗГ.Свернуть("ДокПутЛист, НомерГруппы,", "РасходГСМ");
ДокПутЛист1 = СоздатьОбъект("Документ.ПутевойЛист");
ДокПутЛист1.ВыбратьДокументы(ДатаНач,ДатаКон);
Пока ДокПутЛист1.ПолучитьДокумент() > 0 Цикл
Если (Водитель = ДокПутЛист1.Водитель1) и (Автомобиль = ДокПутЛист1.Автомобиль) Тогда
Ном= Ном + 1;
ДатаПЛ = ДокПутЛист1.ДатаДок;
НомПЛ = ДокПутЛист1.НомерДок;
Таб.ВывестиСекцию("Секция_2|Начало");
Для i=1 по СписокНомеровГрупп.РазмерСписка() Цикл
Стр="";
НомерГруппыТопливо = 0;
ТЗГ.ВыбратьСтроки();
Пока ТЗГ.ПолучитьСтроку() = 1 Цикл
Если ТЗГ.ДокПутЛист = ДокПутЛист1 Тогда //////!!!почему программа не видит знгачение ТЗГ.ДокПутЛист
Если ТЗГ.НомерГруппы=СписокНомеровГрупп.ПолучитьЗначение(i) Тогда
НомерГруппыТопливо = ТЗГ.ПолучитьЗначение(ТЗГ.НомерСтроки,"РасходГСМ");
КонецЕсли;
КонецЕсли;
КонецЦикла;
Таб.ПрисоединитьСекцию("Секция_2|ДН"+i);
КонецЦикла;
КонецЕсли;
КонецЦикла;
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший