|
СКД – меняется текст запроса в зависимости от группировок | ☑ | ||
---|---|---|---|---|
0
Sewace
05.11.15
✎
13:32
|
В консоли СКД выполняю запрос (запрос вымышленный, практической пользы не имеет):
ВЫБРАТЬ ХозрасчетныйОбороты.Субконто1 КАК Склад, ХозрасчетныйОбороты.Субконто2 КАК Номенклатура, ВЫБОР КОГДА ХозрасчетныйОбороты.КоличествоОборотДт = 0 ТОГДА 0 ИНАЧЕ ХозрасчетныйОбороты.СуммаОборотДт / ХозрасчетныйОбороты.КоличествоОборотДт * ХозрасчетныйОбороты.КоличествоОборотКт КОНЕЦ КАК СуммаСписания, ХозрасчетныйОбороты.СуммаОборотДт, ХозрасчетныйОбороты.КоличествоОборотДт, ХозрасчетныйОбороты.КоличествоОборотКт ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты(, , , Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ЗапасныеЧасти), , , , ) КАК ХозрасчетныйОбороты В этом запросе я хочу получить среднюю стоимость поступления единицы материала (стоимость поступления делю на количество поступления) и умножить ее на количество списания материала (назову это СуммаСписания). Все это хочу рассчитать по каждой номенклатуре и вывести в итог общие суммы по складам (ресурс с функцией «СУММА» по «СуммаСписания»). Если в настройках СКД вывожу или в выбранных полях, или в группировках и склад, и номенклатуру - то отчет работает так, как я и задумывал. Но если не включать в выбранные поля номенклатуру, то СКД меняет текст запроса, исключая из него номенклатуру, производит вычисление стоимости списания по средней стоимости поступления по складу в целом. Если в полях СКД помечаю номенклатуру как «Обязательное», то отчет формирует таблицу с детальными записями по номенклатуре. Вопрос: можно ли (если да, то как) добиться того, чтобы расчет в запросе выполнялся по номенклатуре, а потом результат суммировался, но вывод необходим сводный, без участия номенклатуры? |
|||
1
Матиус
05.11.15
✎
14:45
|
(0) Можно
|
|||
2
Nuobu
05.11.15
✎
14:47
|
(0) Вместо детальных записей во втором случае выбери "Субконто1" или "склад".
|
|||
3
Матиус
05.11.15
✎
14:48
|
(2) и что это даст?
|
|||
4
Sewace
05.11.15
✎
15:05
|
(1)
Ёмко сказано! :-) (2) "Субконто1" тоже пропадает из текста запроса при его неиспользовании в детальных записях или группировках. Пробовал делать суррогатное поле, например, ВЫБОР КОГДА ХозрасчетныйОбороты.Субконто2 ЕСТЬ NULL ТОГДА 0 ИНАЧЕ 0 КОНЕЦ По нему настраивал ресурс. В надежде, что СКД не порежет СУбконто2 при расчете. Но если не выводить это вспомогательное поле в детальные записи, то в тексте запроса все равно это поле пропадает, если же его поместить в детальные записи, то в результирующей таблице строки все равно детализируются до номенклатуры, хотя номенклатура и не выводится. |
|||
5
Nuobu
05.11.15
✎
15:07
|
(4) В консоли запроса есть вкладка "Построитель" выбери это поле там.
|
|||
6
Sewace
05.11.15
✎
15:10
|
(5)
Вы имеете ввиду отключить автозаполняемые поля и настраивать поля вручную? Тоже пробовал - результат такой же. |
|||
7
Матиус
05.11.15
✎
15:13
|
(6) Видимо имелось ввиду не использовать детальные записи, а только группировочные.
|
|||
8
Sewace
05.11.15
✎
15:21
|
(7)
Так без разницы, или я добавляю одну группировку "Детальные записи" и в состав полей отчета добавляю "Склад" и ресурсы; или я добавляю одну группировку "Склад" и в выбранные поля отчета добавляю только ресурсы. Номенклатура пропадает из текста запроса. Это видно в консоли СКД на закладке "Макет для табличного документа XML" |
|||
9
Матиус
05.11.15
✎
15:27
|
(8) Номенклатура для расчета обязательна
|
|||
10
Nuobu
05.11.15
✎
15:31
|
У тебя расчет идёт в самой СКД, или в запросе?
|
|||
11
Nuobu
05.11.15
✎
15:31
|
(10) Если в СКД, то не ной, что оно не берёт в расчет номенклатуру.
|
|||
12
Sewace
05.11.15
✎
15:37
|
(11)
Ну конечно в СКД, я же об этом писал. Но кажется нашел выход, такой: Добавил в поле расчета такую конструкцию: ХозрасчетныйОбороты.СуммаОборотДт / ХозрасчетныйОбороты.КоличествоОборотДт * ХозрасчетныйОбороты.КоличествоОборотКт * ВЫБОР КОГДА ХозрасчетныйОбороты.Субконто2 ЕСТЬ NULL ТОГДА 1 ИНАЧЕ 1 КОНЕЦ тогда это поле не исключается в тексте запроса! |
|||
13
Franchiser
гуру
05.11.15
✎
15:41
|
В ролях ставить "Обязательное" пробовал?
|
|||
14
Sewace
05.11.15
✎
16:27
|
(13)
Да, в (0) писал об этом и резульат. В (12) - рабочее решение, проверил на "боевой" задаче. |
|||
15
PLUT
05.11.15
✎
16:36
|
(12) поставь этому полю Роль Обязательное
|
|||
16
Aloex
05.11.15
✎
16:50
|
(0) Засунь текущий в подзапрос, должен остаться.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |