|   |   | 
| 
 | СКД – меняется текст запроса в зависимости от группировок | ☑ | ||
|---|---|---|---|---|
| 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) Засунь текущий в подзапрос, должен остаться.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |