|
Макет, не правильно суммирует | ☑ | ||
---|---|---|---|---|
0
ponaroshku
30.12.11
✎
12:06
|
Конфигурация Управление автотранспортом
написала запрос, вывод в макет Машина Контрагент ПараметрВыработки (то, за что начисляются суммы) Маршрут ПутевыеЛисты Итог по ПараметруВыработки считает правильно (на примере - ВремяВРаботе) Итог по Машине- только сумма- правильная Косячит в расчете по контрагенту, округляет не так, хотя код тот же вставила http://i020.radikal.ru/1112/d9/19f17c06d2f5.jpg Вот кусок заполнения, на который я грешу ВыборкаВыработка= ВыборкаКонтрагент.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаВыработка.Следующий() Цикл ОбластьВыработка.Параметры.Заполнить(ВыборкаВыработка); КолВрем=ВыборкаВыработка.Количество; КолВремЧас=Цел(КолВрем); КолВремДр=КолВрем-КолВремЧас; Если КолМинутах=Ложь Тогда ОбластьВыработка.Параметры.КолДр=КолВремДр*100 ИначеЕсли (Найти(ВыборкаВыработка.Выработка,"Время")=0) и (Найти(ВыборкаВыработка.Выработка,"Погрузочно")=0) и (Найти(ВыборкаВыработка.Выработка,"Простой")=0) Тогда //нет времени Раздел=","; ОбластьВыработка.Параметры.КолДр=КолВремДр*100 Иначе Раздел=":"; ОбластьВыработка.Параметры.КолДр=КолВремДр*60 КонецЕсли; ОбластьВыработка.Параметры.КолЦел=Строка(КолВремЧас)+Раздел; ТабДок.Вывести(ОбластьВыработка, ВыборкаВыработка.Уровень()); Но, заполнение параметра ВремяВыработки происходит так же в цикле по аналогии ВыборкаОбщийИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); ВыборкаОбщийИтог.Следующий(); // Общий итог ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог); ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень()); ВыборкаМодель = ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаМодель.Следующий() Цикл ОбластьМодель.Параметры.Заполнить(ВыборкаМодель); ТабДок.Вывести(ОбластьМодель, ВыборкаМодель.Уровень()); ВыборкаКонтрагент= ВыборкаМодель.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаКонтрагент.Следующий() Цикл ОбластьКонтрагент.Параметры.Заполнить(ВыборкаКонтрагент); ТабДок.Вывести(ОбластьКонтрагент, ВыборкаКонтрагент.Уровень()); ВыборкаВыработка= ВыборкаКонтрагент.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаВыработка.Следующий() Цикл ОбластьВыработка.Параметры.Заполнить(ВыборкаВыработка); КолВрем=ВыборкаВыработка.Количество; КолВремЧас=Цел(КолВрем); КолВремДр=КолВрем-КолВремЧас; Если КолМинутах=Ложь Тогда ОбластьВыработка.Параметры.КолДр=КолВремДр*100 ИначеЕсли (Найти(ВыборкаВыработка.Выработка,"Время")=0) и (Найти(ВыборкаВыработка.Выработка,"Погрузочно")=0) и (Найти(ВыборкаВыработка.Выработка,"Простой")=0) Тогда //нет времени Раздел=","; ОбластьВыработка.Параметры.КолДр=КолВремДр*100 Иначе Раздел=":"; ОбластьВыработка.Параметры.КолДр=КолВремДр*60 КонецЕсли; ОбластьВыработка.Параметры.КолЦел=Строка(КолВремЧас)+Раздел; ТабДок.Вывести(ОбластьВыработка, ВыборкаВыработка.Уровень()); ВыборкаМаршрут = ВыборкаВыработка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаМаршрут.Следующий() Цикл ОбластьМаршрут.Параметры.Заполнить(ВыборкаМаршрут); КолВрем=ВыборкаМаршрут.Количество; КолВремЧас=Цел(КолВрем); КолВремДр=КолВрем-КолВремЧас; Если КолМинутах=Ложь Тогда ОбластьВыработка.Параметры.КолДр=КолВремДр*100 ИначеЕсли (Найти(ВыборкаМаршрут.Выработка,"Время")=0) и (Найти(ВыборкаМаршрут.Выработка,"Погрузочно")=0) и (Найти(ВыборкаМаршрут.Выработка,"Простой")=0) Тогда //нет времени Раздел=","; ОбластьМаршрут.Параметры.КолДр=КолВремДр*100 Иначе Раздел=":"; ОбластьМаршрут.Параметры.КолДр=КолВремДр*60 КонецЕсли; ОбластьМаршрут.Параметры.КолЦел=Строка(КолВремЧас)+Раздел; ТабДок.Вывести(ОбластьМаршрут, ВыборкаМаршрут.Уровень()); ВыборкаДетали = ВыборкаМаршрут.Выбрать(); Раздел=","; Пока ВыборкаДетали.Следующий() Цикл ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали); КолВрем=ВыборкаДетали.Количество; КолВремЧас=Цел(КолВрем); КолВремДр=КолВрем-КолВремЧас; Если КолМинутах=Ложь Тогда ОбластьДетальныхЗаписей.Параметры.КолДр=КолВремДр*100 ИначеЕсли (Найти(ВыборкаДетали.Выработка,"Время")=0) и (Найти(ВыборкаДетали.Выработка,"Погрузочно")=0) и (Найти(ВыборкаДетали.Выработка,"Простой")=0) Тогда //нет времени Раздел=","; ОбластьДетальныхЗаписей.Параметры.КолДр=КолВремДр*100 Иначе Раздел=":"; ОбластьДетальныхЗаписей.Параметры.КолДр=КолВремДр*60 КонецЕсли; ОбластьДетальныхЗаписей.Параметры.КолЦел=Строка(КолВремЧас)+Раздел; ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень()); КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; |
|||
1
ponaroshku
30.12.11
✎
12:06
|
Подскажите, кому не сложно
|
|||
2
vicof
30.12.11
✎
12:09
|
выполни запрос в консоли и посмотри, правильные ли суммы там
|
|||
3
bodri
30.12.11
✎
12:11
|
(0) попробуй эти условия в запрос запихнуть
|
|||
4
ponaroshku
30.12.11
✎
12:12
|
(2) запрос выдает все правильно
проблема идет именно в суммировании, по ПараметруВыработки он суммирует правильно, а вот по этой штуке- нет вывод в макет |
|||
5
ponaroshku
30.12.11
✎
12:13
|
(3) цикл в запрос??
|
|||
6
ponaroshku
30.12.11
✎
12:14
|
(3) я просто даже не представляю, как
ведь там идет обход результат по группировкам |
|||
7
bodri
30.12.11
✎
12:43
|
в ячейке у тебя формат не тот который надо, скорей всего стоит "ЧДЦ=0" т.к. у тебя отрубает, все знаки после запятой
P.S. судя по скрину |
|||
8
ponaroshku
30.12.11
✎
13:20
|
(7) не получилось,формат ок
|
|||
9
ponaroshku
30.12.11
✎
13:54
|
мне кажется из-за Цел
но я понять не могу почему по ПараметруВыработки бьет правильно, а по контрагенту не считает |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |