|
v7: Группировка в запросе по группам справочника | ☑ | ||
---|---|---|---|---|
0
Анатоль
05.10.11
✎
13:18
|
Есть у меня иерархический справочник 4-х уровневый (уникальность кода в пределах справочника)
В документах есть выбор элементов этого справочника Есть запрос по документам: ТекстЗапроса = " |Период с НачДата по КонДата; |ОбрабатыватьДокументы Проведенные; |ТекДок = Документ.РасходныйКассовый.ТекущийДокумент, Документ.ПриходныйКассовый.ТекущийДокумент, | Документ.БанковскаяВыписка.ТекущийДокумент, Документ.Бюджет.ТекущийДокумент, Документ.ВыплатаЗП.ТекущийДокумент; |СтатьяБюджета = Документ.РасходныйКассовый.СтатьяБюджета, Документ.ПриходныйКассовый.СтатьяБюджета, | Документ.БанковскаяВыписка.СтатьяБюджета, Документ.Бюджет.СтатьяБюджета, Документ.ВыплатаЗП.СтатьяБюджета; |СуммаЗатратПл = Документ.Бюджет.СуммаПлан; |СуммаЗатратФКасса = Документ.РасходныйКассовый.СуммаВал, Документ.ПриходныйКассовый.СуммаВал, Документ.ВыплатаЗП.Сумма; |СуммаЗатратФБанк = Документ.БанковскаяВыписка.СуммаСНДС; | |Функция СуммаЗатратПлан = Сумма(СуммаЗатратПл); |Функция СуммаЗатратФактКасса = Сумма(СуммаЗатратФКасса); |Функция СуммаЗатратФактБанк = Сумма(СуммаЗатратФБанк); | |Функция СуммаЗатратПланРасход = Сумма(СуммаЗатратПл) Когда (Число(СтатьяКод) >= 2000); |Функция СуммаЗатратФактКассаРасход = Сумма(СуммаЗатратФКасса) Когда (Число(СтатьяКод) >= 2000); |Функция СуммаЗатратФактБанкРасход = Сумма(СуммаЗатратФБанк) Когда (Число(СтатьяКод) >= 2000); | |Группировка СтатьяБюджета Упорядочить по СтатьяБюджета.Код;"; ВОПРОС: почему в результате запроса я получаю итоги только по элементам справочника и нет итогов по группам этого справочника? |
|||
1
Ёпрст
05.10.11
✎
13:21
|
(0) и как ты это узнал ?
И нафига при одной группировке СтатьяБюджета еще и переменная ТекДок в тексте запроса ? |
|||
2
Анатоль
05.10.11
✎
13:23
|
(1) это только часть запроса - он больше и там всё используется.
Узнал я это в отладчике при обходе описанной группировки |
|||
3
Ёпрст
05.10.11
✎
13:35
|
(2) то что в этом куске- работает верно, и суммы по группам тоже будут..
А что там еще у тебя есть - нам отсюда не видно. |
|||
4
Анатоль
05.10.11
✎
13:47
|
Весь текст запроса:
ТекстЗапроса = " |Период с НачДата по КонДата; |ОбрабатыватьДокументы Проведенные; |ТекДок = Документ.РасходныйКассовый.ТекущийДокумент, Документ.ПриходныйКассовый.ТекущийДокумент, | Документ.БанковскаяВыписка.ТекущийДокумент, Документ.Бюджет.ТекущийДокумент, Документ.ВыплатаЗП.ТекущийДокумент; |СтатьяКод = Документ.РасходныйКассовый.СтатьяБюджета.Код, Документ.ПриходныйКассовый.СтатьяБюджета.Код, | Документ.БанковскаяВыписка.СтатьяБюджета.Код, Документ.Бюджет.СтатьяБюджета.Код, Документ.ВыплатаЗП.СтатьяБюджета.Код; |СтатьяБюджета = Документ.РасходныйКассовый.СтатьяБюджета, Документ.ПриходныйКассовый.СтатьяБюджета, | Документ.БанковскаяВыписка.СтатьяБюджета, Документ.Бюджет.СтатьяБюджета, Документ.ВыплатаЗП.СтатьяБюджета; |Подразделение = Документ.РасходныйКассовый.Подразделение, Документ.ПриходныйКассовый.Подразделение, | Документ.БанковскаяВыписка.Подразделение, Документ.Бюджет.Подразделение, Документ.ВыплатаЗП.ПодразделениеБюждет; |СуммаЗатратПл = Документ.Бюджет.СуммаПлан; |СуммаЗатратФКасса = Документ.РасходныйКассовый.СуммаВал, Документ.ПриходныйКассовый.СуммаВал, Документ.ВыплатаЗП.Сумма; |СуммаЗатратФБанк = Документ.БанковскаяВыписка.СуммаСНДС; | |Функция СуммаЗатратПлан = Сумма(СуммаЗатратПл); |Функция СуммаЗатратФактКасса = Сумма(СуммаЗатратФКасса); |Функция СуммаЗатратФактБанк = Сумма(СуммаЗатратФБанк); | |Функция СуммаЗатратПланРасход = Сумма(СуммаЗатратПл) Когда (Число(СтатьяКод) >= 2000); |Функция СуммаЗатратФактКассаРасход = Сумма(СуммаЗатратФКасса) Когда (Число(СтатьяКод) >= 2000); |Функция СуммаЗатратФактБанкРасход = Сумма(СуммаЗатратФБанк) Когда (Число(СтатьяКод) >= 2000); | |Группировка СтатьяБюджета Упорядочить по СтатьяБюджета.Код;"; Если флПоДокументам = 1 Тогда ТекстЗапроса = ТекстЗапроса + " |Группировка ТекДок;"; КонецЕсли; Если флБезПодразделений = 0 Тогда ТекстЗапроса = ТекстЗапроса + " |Группировка Подразделение Без Групп Все ВошедшиеВЗапрос;"; КонецЕсли; ТекстЗапроса = ТекстЗапроса + " |Условие (СтатьяБюджета в ВыбСтатьяБюджета); |Условие (Подразделение в ВыбПодразделение);"; |
|||
5
Анатоль
05.10.11
✎
13:59
|
(3) по запросу я тоже считаю что всё должно работать
|
|||
6
Ёпрст
05.10.11
✎
13:59
|
ну и ? сами группы справочника есть на выходе ?
Если есть, то и суммы по ним тоже есть. |
|||
7
Анатоль
05.10.11
✎
14:08
|
групп справочника на выходе нет, ну соответсвенно итогов по ним тоже
|
|||
8
Анатоль
05.10.11
✎
14:13
|
Обход группировки самый банальный:
Пока Запрос.Группировка(1) = 1 Цикл // проходим по статьям бюджета КонецЦикла; |
|||
9
Ёпрст
05.10.11
✎
14:15
|
>>>>групп справочника на выходе нет
ЗАЧЕТ! :))))))))))) |
|||
10
Lexxxxx
05.10.11
✎
14:16
|
(7) А что, у вас дана возможность в документы впиндюривать группы справочника?!
|
|||
11
Lexxxxx
05.10.11
✎
14:17
|
СтатьяБюджета =
Документ.РасходныйКассовый.СтатьяБюджета, Документ.ПриходныйКассовый.СтатьяБюджета, Документ.БанковскаяВыписка.СтатьяБюджета, Документ.Бюджет.СтатьяБюджета, Документ.ВыплатаЗП.СтатьяБюджета; В каком из документов можно выбрать группу? |
|||
12
Ёпрст
05.10.11
✎
14:19
|
(10) а почему бы и нет ? Это раз, запрос сам строит иерархию на выходе, это два.
(0) Проверяй типы реквизитов документа, 100% у тебя там стоит тип <Справочник> без вида - вот групп справочника в таком случае, ты не увидишь никогда на выходе запроса. |
|||
13
Ёпрст
05.10.11
✎
14:19
|
(11) в любом, если что.
Да и вопрос тут не об этом, не путай автора. |
|||
14
Анатоль
05.10.11
✎
16:19
|
(12) Спасибо. Реально одно из обновлений убило тип справочника в выплате ЗП.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |