Макет, не правильно суммирует

1. ponaroshku 30.12.11 12:19 Сейчас в теме
Конфигурация Управление автотранспортом

написала запрос, вывод в макет

Машина
Контрагент
ПараметрВыработки (то, за что начисляются суммы)
Маршрут
ПутевыеЛисты

Итог по ПараметруВыработки считает правильно (на примере - ВремяВРаботе)
Итог по Машине- только сумма- правильная
Косячит в расчете по контрагенту, округляет не так, хотя код тот же вставила

http://i020.radikal.ru/1112/d9/19f17c06d2f5.jpg


Вот кусок заполнения, на который я грешу

+ Code
ВыборкаВыработка= ВыборкаКонтрагент.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаВыработка.Следующий() Цикл
ОбластьВыработка.Параметры.Заполнить(ВыборкаВыработка);


КолВрем=ВыборкаВыработка.Количество;
КолВремЧас=Цел(КолВрем);
КолВремДр=КолВрем-КолВремЧас;
Если КолМинутах=Ложь Тогда
ОбластьВыработка.Параметры.КолДр=КолВремДр*100
ИначеЕсли (Найти(ВыборкаВыработка.Выработка,"Время")=0) и (Найти(ВыборкаВыработка.Выработка,"Погрузочно")=0) и (Найти(ВыборкаВыработка.Выработка,"Простой")=0) Тогда //нет времени

Раздел=",";
ОбластьВыработка.Параметры.КолДр=КолВремДр*100
Иначе Раздел=":";
ОбластьВыработка.Параметры.КолДр=КолВремДр*60
КонецЕсли;
ОбластьВыработка.Параметры.КолЦел=Строка(КолВремЧас)+Раздел;

ТабДок.Вывести(ОбластьВыработка, ВыборкаВыработка.Уровень());





Но, заполнение параметра ВремяВыработки происходит так же в цикле по аналогии


+ Code
ВыборкаОбщийИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

ВыборкаОбщийИтог.Следующий(); // Общий итог

ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);
ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());

ВыборкаМодель = ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаМодель.Следующий() Цикл
ОбластьМодель.Параметры.Заполнить(ВыборкаМодель);
ТабДок.Вывести(ОбластьМодель, ВыборкаМодель.Уровень());

ВыборкаКонтрагент= ВыборкаМодель.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаКонтрагент.Следующий() Цикл
ОбластьКонтрагент.Параметры.Заполнить(ВыборкаКонтрагент);
ТабДок.Вывести(ОбластьКонтрагент, ВыборкаКонтрагент.Уровень());

ВыборкаВыработка= ВыборкаКонтрагент.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаВыработка.Следующий() Цикл
ОбластьВыработка.Параметры.Заполнить(ВыборкаВыработка);


КолВрем=ВыборкаВыработка.Количество;
КолВремЧас=Цел(КолВрем);
КолВремДр=КолВрем-КолВремЧас;
Если КолМинутах=Ложь Тогда
ОбластьВыработка.Параметры.КолДр=КолВремДр*100
ИначеЕсли (Найти(ВыборкаВыработка.Выработка,"Время")=0) и (Найти(ВыборкаВыработка.Выработка,"Погрузочно")=0) и (Найти(ВыборкаВыработка.Выработка,"Простой")=0) Тогда //нет времени

Раздел=",";
ОбластьВыработка.Параметры.КолДр=КолВремДр*100
Иначе Раздел=":";
ОбластьВыработка.Параметры.КолДр=КолВремДр*60
КонецЕсли;
ОбластьВыработка.Параметры.КолЦел=Строка(КолВремЧас)+Раздел;

ТабДок.Вывести(ОбластьВыработка, ВыборкаВыработка.Уровень());


ВыборкаМаршрут = ВыборкаВыработка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаМаршрут.Следующий() Цикл
ОбластьМаршрут.Параметры.Заполнить(ВыборкаМаршрут);
КолВрем=ВыборкаМаршрут.Количество;
КолВремЧас=Цел(КолВрем);
КолВремДр=КолВрем-КолВремЧас;
Если КолМинутах=Ложь Тогда
ОбластьВыработка.Параметры.КолДр=КолВремДр*100
ИначеЕсли (Найти(ВыборкаМаршрут.Выработка,"Время")=0) и (Найти(ВыборкаМаршрут.Выработка,"Погрузочно")=0) и (Найти(ВыборкаМаршрут.Выработка,"Простой")=0) Тогда //нет времени

Раздел=",";
ОбластьМаршрут.Параметры.КолДр=КолВремДр*100
Иначе Раздел=":";
ОбластьМаршрут.Параметры.КолДр=КолВремДр*60
КонецЕсли;
ОбластьМаршрут.Параметры.КолЦел=Строка(КолВремЧас)+Раздел;

ТабДок.Вывести(ОбластьМаршрут, ВыборкаМаршрут.Уровень());
ВыборкаДетали = ВыборкаМаршрут.Выбрать();
Раздел=",";

Пока ВыборкаДетали.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
КолВрем=ВыборкаДетали.Количество;
КолВремЧас=Цел(КолВрем);
КолВремДр=КолВрем-КолВремЧас;
Если КолМинутах=Ложь Тогда
ОбластьДетальныхЗаписей.Параметры.КолДр=КолВремДр*100
ИначеЕсли (Найти(ВыборкаДетали.Выработка,"Время")=0) и (Найти(ВыборкаДетали.Выработка,"Погрузочно")=0) и (Найти(ВыборкаДетали.Выработка,"Простой")=0) Тогда //нет времени

Раздел=",";
ОбластьДетальныхЗаписей.Параметры.КолДр=КолВремДр*100
Иначе Раздел=":";
ОбластьДетальныхЗаписей.Параметры.КолДр=КолВремДр*60
КонецЕсли;
ОбластьДетальныхЗаписей.Параметры.КолЦел=Строка(КолВремЧас)+Раздел;
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
КонецЦикла;
КонецЦикла;
КонецЦикла;
КонецЦикла;
КонецЦикла;
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ATOM_MAN 30.12.11 15:26 Сейчас в теме
Возможно на макете у тебя стоит формат вывода в этой колонке.
3. ATOM_MAN 30.12.11 15:30 Сейчас в теме
На картинке, которую ты выложил покажи где у тебя параметр КолДр а где Кол Цел
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот