|
помогите с запросом! | ☑ | ||
---|---|---|---|---|
0
vip67
26.07.13
✎
13:45
|
Всем привет! пятница - башка не варит:
текст Пока ВыборкаПлатежа.Следующий() Цикл СделкаПлат = ВыборкаПлатежа.Сделка; ЗапросПрихМатТекМес = Новый Запрос; ЗапросПрихМатТекМес.Текст = "ВЫБРАТЬ | ПОДСТРОКА(ПриходМатТекМес.СубконтоДт1.Код, 1, 2) КАК ГрМат, | ПриходМатТекМес.СуммаОборот КАК Сумма20, | ПриходМатТекМес.СубконтоКт3 КАК Сделка, | ПриходМатТекМес.Регистратор.Номер КАК НомерАкта, | НДСтекМес.СуммаОборот КАК СуммаНДС, | ЕСТЬNULL(Сумма631.СуммаОборот, 0) - ЕСТЬNULL(Остатки631.СуммаОстатокКт, 0) КАК СуммаОплатыТекМес |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачПериода, &КонПериода, Запись, СчетДт В ИЕРАРХИИ (&Счет20), , , , ) КАК ПриходМатТекМес | ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачПериода, &КонПериода, Регистратор, СчетДт В ИЕРАРХИИ (&СчетНДСнп), , , , ) КАК НДСтекМес | ПО ПриходМатТекМес.Регистратор = НДСтекМес.Регистратор | ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачПериода, &КонПериода, Регистратор, , , СчетКт В ИЕРАРХИИ (&Счет631), , ) КАК Сумма631 | ПО ПриходМатТекМес.Регистратор = Сумма631.Регистратор | ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(&НачПериода, Счет В ИЕРАРХИИ (&счет631), , ) КАК Остатки631 | ПО ПриходМатТекМес.СубконтоКт3 = Остатки631.Субконто3 |ГДЕ | ПриходМатТекМес.СубконтоКт3 = &СделкаПлат | И ЕСТЬNULL(Сумма631.СуммаОборот, 0) - ЕСТЬNULL(Остатки631.СуммаОстатокКт, 0) > 0 | |СГРУППИРОВАТЬ ПО | ПриходМатТекМес.СубконтоКт3, | ПриходМатТекМес.Регистратор.Номер, | ПОДСТРОКА(ПриходМатТекМес.СубконтоДт1.Код, 1, 2), | ЕСТЬNULL(Сумма631.СуммаОборот, 0) - ЕСТЬNULL(Остатки631.СуммаОстатокКт, 0), | ПриходМатТекМес.СуммаОборот, | НДСтекМес.СуммаОборот |ИТОГИ | СУММА(Сумма20), | СУММА(СуммаНДС), | СУММА(СуммаОплатыТекМес) |ПО | Сделка, | НомерАкта, | ГрМат"; ЗапросПрихМатТекМес.УстановитьПараметр("КонПериода", КонПериода); ЗапросПрихМатТекМес.УстановитьПараметр("НачПериода", НачПериода); ЗапросПрихМатТекМес.УстановитьПараметр("СделкаПлат", СделкаПлат); ЗапросПрихМатТекМес.УстановитьПараметр("Счет20", Счет20); ЗапросПрихМатТекМес.УстановитьПараметр("Счет631", Счет631); ЗапросПрихМатТекМес.УстановитьПараметр("СчетНДСнп", СчетНДСнп); РезультатПрихМатТекМес = ЗапросПрихМатТекМес.Выполнить(); ВыборкаСделка = РезультатПрихМатТекМес.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаСделка.Следующий() Цикл ВыборкаРегистратор = ВыборкаСделка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаРегистратор.Следующий() Цикл СтрокаТаб = Таблица.Добавить(); СтрокаТаб.Контрагент = ВыборкаПлатежа.Контрагент; СтрокаТаб.НомерСчета = ВыборкаПлатежа.Сделка.НомерВходящегоДокумента; СтрокаТаб.Сумма631 = ВыборкаРегистратор.СуммаОплатыТекМес; СтрокаТаб.НДС = ВыборкаРегистратор.СуммаНДС; СтрокаТаб.Сумма20 = ВыборкаРегистратор.Сумма20; ВыборкаГрМат = ВыборкаРегистратор.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаГрМат.Следующий() Цикл СтрокаТаб = Таблица.Добавить(); СтрокаТаб.НомерАкта = ВыборкаГрМат.НомерАкта; СтрокаТаб.ГруппаМатериала = ВыборкаГрМат.ГрМат; СтрокаТаб.Сумма20 = ВыборкаГрМат.Сумма20; Выборка1 = ВыборкаГрМат.Выбрать(); Пока Выборка1.Следующий() Цикл КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; в отчет сумма20 выводится нормально, а вот Сумма631 троится/двоится как и суммаНДС. Где ошибка? ткните носом! |
|||
1
Галахад
гуру
26.07.13
✎
13:51
|
В условии ГДЕ.
|
|||
2
vip67
26.07.13
✎
13:53
|
(1) и что там не так?
|
|||
3
Галахад
гуру
26.07.13
✎
13:58
|
(2) Второе условие.
|
|||
4
vip67
26.07.13
✎
13:59
|
я его убирал - результат тот-же
|
|||
5
vip67
26.07.13
✎
14:03
|
вот что дает консоль запроса:
ГрМат Сумма20 Сделка НомерАкта СуммаНДС СуммаОплатыТекМес 457,09 Счет на оплату поставщика бн000001170 от 07.06.2013 10:20:40 365,68 2 194,04 457,09 Счет на оплату поставщика бн000001170 от 07.06.2013 10:20:40 08400012757 365,68 2 194,04 32 314,23 Счет на оплату поставщика бн000001170 от 07.06.2013 10:20:40 08400012757 182,84 1 097,02 32 115,75 Счет на оплату поставщика бн000001170 от 07.06.2013 10:20:40 08400012757 91,42 548,51 32 198,48 Счет на оплату поставщика бн000001170 от 07.06.2013 10:20:40 08400012757 91,42 548,51 33 130,46 Счет на оплату поставщика бн000001170 от 07.06.2013 10:20:40 08400012757 91,42 548,51 33 130,46 Счет на оплату поставщика бн000001170 от 07.06.2013 10:20:40 08400012757 91,42 548,51 64 12,4 Счет на оплату поставщика бн000001170 от 07.06.2013 10:20:40 08400012757 91,42 548,51 64 12,4 Счет на оплату поставщика бн000001170 от 07.06.2013 10:20:40 08400012757 91,42 548,51 |
|||
6
vip67
26.07.13
✎
14:03
|
1097,02 - правильно, а вот уже 2194,04 - удвоение
|
|||
7
vip67
26.07.13
✎
14:05
|
хотя - нет - брешу 548,51 - правильно, а остальное - двоится/тьорится - судя по всему - с уровнем группировки завязано
|
|||
8
GenAcid
26.07.13
✎
14:08
|
Что просил - то и получил. Может тебе не сумма по группировкам нужна-то?
|
|||
9
vip67
26.07.13
✎
14:10
|
нужна сумма по группе
|
|||
10
GenAcid
26.07.13
✎
14:12
|
(9) Так ты ее и получил.
Выведи в консоли в дерево, поймешь почему получилось так, как получилось. |
|||
11
vip67
26.07.13
✎
14:16
|
вывел - не понял :)
|
|||
12
vip67
26.07.13
✎
14:23
|
Сумма631 и суммаНДС отражается в каждой записи в дереве, а в групе - она суммируется - отсюда и удвоение/утроение.
но это неправильные данные - эти суммы должны быть только на уровне выборкаРегистратор. |
|||
13
hhhh
26.07.13
✎
14:28
|
(12) ну так и делай. Зачем ты ее в каждую строчку суешь?
|
|||
14
vip67
26.07.13
✎
21:46
|
(13) истину глаголишь! спс всем! счас буду разбираться.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |