|
УТ Унив. отчет (построитель) задвоение остатка после гр. "регистратор", если ... | ☑ | ||
---|---|---|---|---|
0
Вуглускр1991
19.11.14
✎
15:38
|
Привет!
В процессе модификации отчета по кредитной линии обнаружил: добавляем показатель: ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток Все красиво работает, как надо. Изменяем показатель вот так: ВЫБОР КОГДА Истина Тогда ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток ИНАЧЕ 0 КОНЕЦ Получаем задвоение. Платформа 1С:Предприятие 8.3 (8.3.5.1248) файловый вапиант. Я чего-то недопонимаю? Так должно быть? Как избавиться? Мне надо отбирать остаточки с некоторыми условиями и суммировать их. |
|||
1
Ненавижу 1С
гуру
19.11.14
✎
15:42
|
именно вот с таким условием тоже задаваивает?
|
|||
2
Вуглускр1991
19.11.14
✎
15:45
|
(1) да!
|
|||
3
Вуглускр1991
19.11.14
✎
15:50
|
1С:Предприятие 8.2 (8.2.19.80)
тоже двоит. |
|||
4
Euguln
19.11.14
✎
15:52
|
(0) Соединение в запросе есть?
|
|||
5
Вуглускр1991
19.11.14
✎
15:54
|
(4) есть.
|
|||
6
Вуглускр1991
19.11.14
✎
16:23
|
(4) Теперь нету. Ошибка воспроизводится в модельном запросе:
ВЫБРАТЬ РАЗРЕШЕННЫЕ ВзаиморасчетыОстаткиИОбороты.Организация КАК Организация, ВзаиморасчетыОстаткиИОбороты.Контрагент КАК Контрагент, ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента КАК ДоговорКонтрагента, ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом, ВЫБОР КОГДА ИСТИНА ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток ИНАЧЕ 0 КОНЕЦ КАК ДолгКонтрагентаНорм {ВЫБРАТЬ Организация.* КАК Организация, Контрагент.* КАК Контрагент, ДоговорКонтрагента.* КАК ДоговорКонтрагента, ДокументРасчетовСКонтрагентом.* КАК ДокументРасчетовСКонтрагентом, ВзаиморасчетыОстаткиИОбороты.Регистратор КАК Регистратор, ДолгКонтрагентаНорм КАК ДолгКонтрагентаНорм} ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ОстаткиИОбороты( &ДатаНач, &ДатаКон, Регистратор {(&Периодичность)}, , ДоговорКонтрагента.ВидДоговора В (&МассивВидовДоговоров) И ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности > 0 И ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом = ИСТИНА {(ДоговорКонтрагента).*, (Контрагент).*, (Организация).*, (ДокументРасчетовСКонтрагентом).*}) КАК ВзаиморасчетыОстаткиИОбороты ГДЕ ВзаиморасчетыОстаткиИОбороты.УпрУчет = ИСТИНА {ГДЕ ВзаиморасчетыОстаткиИОбороты.Период} {УПОРЯДОЧИТЬ ПО Организация.* КАК Организация, Контрагент.* КАК Контрагент, ДоговорКонтрагента.* КАК ДоговорКонтрагента, ДокументРасчетовСКонтрагентом.* КАК ДокументРасчетовСКонтрагентом, ВзаиморасчетыОстаткиИОбороты.Регистратор.* КАК Регистратор, ДолгКонтрагентаНорм} ИТОГИ СУММА(ДолгКонтрагентаНорм) ПО ОБЩИЕ {ИТОГИ ПО Организация, Контрагент, ДоговорКонтрагента, ДокументРасчетовСКонтрагентом, ВзаиморасчетыОстаткиИОбороты.Регистратор} |
|||
7
Вуглускр1991
19.11.14
✎
17:00
|
Построитель "нипричем!" колбасит даже запрос в консоли:
ВЫБРАТЬ РАЗРЕШЕННЫЕ ВзаиморасчетыОстаткиИОбороты.Организация КАК Организация, ВзаиморасчетыОстаткиИОбороты.Контрагент КАК Контрагент, ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента КАК ДоговорКонтрагента, ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом, ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК ДолгКонтрагентаНорм, ВЫБОР КОГДА ИСТИНА ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток ИНАЧЕ 0 КОНЕЦ КАК ДолгКонтрагентаСравн ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ОстаткиИОбороты( &ДатаНач, &ДатаКон, Секунда, , ДоговорКонтрагента.ВидДоговора В (&МассивВидовДоговоров) И ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности > 0 И ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом = ИСТИНА И Контрагент = &Контрагент) КАК ВзаиморасчетыОстаткиИОбороты ГДЕ ВзаиморасчетыОстаткиИОбороты.УпрУчет = ИСТИНА ИТОГИ СУММА(ДолгКонтрагентаНорм), СУММА(ДолгКонтрагентаСравн) ПО Организация, Контрагент, ДоговорКонтрагента, ДокументРасчетовСКонтрагентом |
|||
8
Вуглускр1991
19.11.14
✎
17:36
|
Итак, точка опоры:
1С:Предприятие 8.2 (8.2.19.80) заменить в запросах параметр "периодичность" в виртуальных таблицах регистров накопления на "Авто" убрав "Регистратор" и {} произвол для построителя отчетов. работает, на 8.3 пока нет. |
|||
9
Вуглускр1991
19.11.14
✎
17:40
|
(8+) Обманул ... не включил группировку по регистратору. Как только я её включил, появилось задвоение.
|
|||
10
Ненавижу 1С
гуру
19.11.14
✎
18:34
|
когда юзается группировка по регистратору/периодам в ОстатиИОбороты, то ведь как сами понимаете в итогах СУММА(КонечныйОстаток) не сумма вовсе
а нормально оно отрабатывает только с типовыми полями этой таблицы, все остальное видимо как-то реально "суммируется" |
|||
11
Вуглускр1991
19.11.14
✎
19:08
|
(10) Такое впечатление, что там заплатку прилепили вместо нормального анализа суммируемых показателей.
|
|||
12
Вуглускр1991
19.11.14
✎
19:41
|
Отбой, в общем.
Решение такое, надо в явном виде вывести из под оператора "ВЫБОР" показатели остатков, по которым должны вычисляться хитрые итоги. Надо помочь анализатору с разбором выражения и все начинает работать. Вместо ВЫБОР КОГДА ИСТИНА ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток ИНАЧЕ 0 КОНЕЦ Надо ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток * ВЫБОР КОГДА ИСТИНА ТОГДА 1 ИНАЧЕ 0 КОНЕЦ Если включить это в книгу знаний, то фирма 1С может решить, что это фича и вместо исправлений к анализатору выпустят дополнения к документации (уже есть?) с описанием, как правильно надо писать такие запросы. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |