Запрос для счетов с субконто в разной последовательности, Бух 1.05.41.16, 1с 8.1.13.41

Новая тема
"Счета 20, 23, 25, 26 имеют одинаковые субконто на разных порядковых номерах,
В запрос:
"ВЫБРАТЬ
| ХозрасчетныйОбороты.СуммаОборотДт КАК СуммаОборотДт,
| ХозрасчетныйОбороты.Счет КАК Счет,
| ХозрасчетныйОбороты.Субконто1 КАК Подразделение,
| ХозрасчетныйОбороты.Субконто2 КАК Номенклатура,
| ХозрасчетныйОбороты.Субконто3 КАК СтатьиЗатрат
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаНачала, &ДатаКонца, , , , , , ) КАК ХозрасчетныйОбороты
|ГДЕ
| (ПОДСТРОКА(ХозрасчетныйОбороты.Счет.Код, 1, 2) = &Счет1
| ИЛИ ПОДСТРОКА(ХозрасчетныйОбороты.Счет.Код, 1, 2) = &Счет2
| ИЛИ ПОДСТРОКА(ХозрасчетныйОбороты.Счет.Код, 1, 2) = &Счет3
| ИЛИ ПОДСТРОКА(ХозрасчетныйОбороты.Счет.Код, 1, 2) = &Счет4)
|
|СГРУППИРОВАТЬ ПО
| ХозрасчетныйОбороты.Счет,
| ХозрасчетныйОбороты.Субконто1,
| ХозрасчетныйОбороты.Субконто2,
| ХозрасчетныйОбороты.Субконто3,
| ХозрасчетныйОбороты.СуммаОборотДт
|ИТОГИ
| СУММА(СуммаОборотДт)
|ПО
| Счет,
| Подразделение,
| Номенклатура,
| СтатьиЗатрат"
);
Запрос.УстановитьПараметр("Счет1", "20");
Запрос.УстановитьПараметр("Счет2", "23");
Запрос.УстановитьПараметр("Счет3", "25");
Запрос.УстановитьПараметр("Счет4", "26");
Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
Запрос.УстановитьПараметр("ДатаКонца", ДатаКонца);
Результат = Запрос.Выполнить();
СтЗат = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"СтатьиЗатрат");
Пока СтЗат.Следующий() Цикл
ОбработкаПрерыванияПользователя();
КонецЦикла;
В группировку СтатьиЗатрат попадают как статьи затрат так и другие данные, как рассказать запросу том что надо разные по номеру субконто складывать в одну колонку?"
Объединение сделать
И, кстати, условие счета лучше писать как параметр виртуальной таблицы. Вот как-то так:

ВЫБРАТЬ
ХозрасчетныйОбороты20_23.СуммаОборотДт КАК СуммаОборотДт,
ХозрасчетныйОбороты20_23.Счет КАК Счет,
ХозрасчетныйОбороты20_23.Субконто1 КАК Подразделение,
ХозрасчетныйОбороты20_23.Субконто2 КАК Номенклатура,
ХозрасчетныйОбороты20_23.Субконто3 КАК СтатьиЗатрат
ИЗ
РегистрБухгалтерии.Хозрасчетный.Обороты(
&ДатаНачала,
&ДатаКонца,
,
ПОДСТРОКА(Счет.Код, 1, 2) = "20"
ИЛИ ПОДСТРОКА(Счет.Код, 1, 2) = "23",
,
,
,
) КАК ХозрасчетныйОбороты20_23

СГРУППИРОВАТЬ ПО
ХозрасчетныйОбороты20_23.Счет,
ХозрасчетныйОбороты20_23.Субконто1,
ХозрасчетныйОбороты20_23.Субконто2,
ХозрасчетныйОбороты20_23.Субконто3,
ХозрасчетныйОбороты20_23.СуммаОборотДт

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
ХозрасчетныйОбороты25_26.СуммаОборотДт,
ХозрасчетныйОбороты25_26.Счет,
ХозрасчетныйОбороты25_26.Субконто1,
"Нет ном.группы",
ХозрасчетныйОбороты25_26.Субконто2
ИЗ
РегистрБухгалтерии.Хозрасчетный.Обороты(
&ДатаНачала,
&ДатаКонца,
,
ПОДСТРОКА(Счет.Код, 1, 2) = "25"
ИЛИ ПОДСТРОКА(Счет.Код, 1, 2) = "26",
,
,
,
) КАК ХозрасчетныйОбороты25_26

СГРУППИРОВАТЬ ПО
ХозрасчетныйОбороты25_26.Счет,
ХозрасчетныйОбороты25_26.Субконто1,
ХозрасчетныйОбороты25_26.Субконто2,
ХозрасчетныйОбороты25_26.СуммаОборотДт
5 параметром вирт таблицы Обороты можно передать массив и переопределить порядок субконто - но это не ваш случай.

можно сделать примерно так

ВЫБРАТЬ
ХозрасчетныйОбороты.СуммаОборотДт КАК СуммаОборотДт,
ХозрасчетныйОбороты.Счет КАК Счет,
ХозрасчетныйОбороты.Субконто1 КАК Подразделение,
ВЫБОР
КОГДА ХозрасчетныйОбороты.Субконто2 ссылка  Справочник.СтатьиЗатрат
ТОГДА NULL
ИНАЧЕ ХозрасчетныйОбороты.Субконто2
КОНЕЦ КАК НоменклатурныеГруппы,
ВЫБОР
КОГДА ХозрасчетныйОбороты.Субконто2 ссылка  Справочник.СтатьиЗатрат ТОГДА
ХозрасчетныйОбороты.Субконто2
ИНАЧЕ ХозрасчетныйОбороты.Субконто3
КОНЕЦ КАК СтатьиЗатрат
ИЗ
РегистрБухгалтерии.Хозрасчетный.Обороты(, , , , , , , ) КАК ХозрасчетныйОбороты


Читают тему
(гостей: 1)

Быстрый переход