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