Делаю запрос, нужно вытащить ХВС по заданному дому, но ругается на запрос, что не так?
ОплатыК = КонецМесяца(КонецМесяца(ДатаОбр)+1)-46799;
Запрос = новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| РасчетыПоНачислениямОстаткиИОбороты.Квартиросъемщик.ЛицевойСчет КАК КвартиросъемщикЛицевойСчет,
| РасчетыПоНачислениямОстаткиИОбороты.Начисление,
| СУММА(-РасчетыПоНачислениямОстаткиИОбороты.СуммаНачальныйОстаток) КАК СуммаНачальныйОстаток,
| СУММА(РасчетыПоНачислениямОстаткиИОбороты.СуммаПриход) КАК СуммаПриход,
| СУММА(-РасчетыПоНачислениямОстаткиИОбороты.СуммаКонечныйОстаток) КАК СуммаКонечныйОстаток,
| СУММА(ВложенныйЗапрос.Потреблено) КАК Потреблено,
| СУММА(ВложенныйЗапрос.Тариф) КАК Тариф,
| СУММА(ВложенныйЗапрос.Начислено) КАК Начислено
|ИЗ
| РегистрНакопления.РасчетыПоНачислениям.ОстаткиИОбороты(&Нач, &Кон, Период, , ) КАК РасчетыПоНачислениямОстаткиИОбороты
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ПолныеСведенияОНачислениях.Квартиросъемщик.ЛицевойСчет КАК ЛС,
| ПолныеСведенияОНачислениях.Количество КАК Потреблено,
| ПолныеСведенияОНачислениях.Начисление КАК Начисление,
| ПолныеСведенияОНачислениях.Тариф КАК Тариф,
| ПолныеСведенияОНачислениях.Сумма КАК Начислено
| ИЗ
| РегистрНакопления.ПолныеСведенияОНачислениях КАК ПолныеСведенияОНачислениях
| ГДЕ
| ПолныеСведенияОНачислениях.Период МЕЖДУ &НачалоН И &КонецН
| И ПолныеСведенияОНачислениях.Начисление.Наименование = ""ХВС"") КАК ВложенныйЗапрос
| ПО РасчетыПоНачислениямОстаткиИОбороты.Квартиросъемщик.ЛицевойСчет = ВложенныйЗапрос.ЛС
| И РасчетыПоНачислениямОстаткиИОбороты.Начисление = ВложенныйЗапрос.Начисление
|ГДЕ
| РасчетыПоНачислениямОстаткиИОбороты.Начисление.Наименование = ""ХВС""
|
|СГРУППИРОВАТЬ ПО
| РасчетыПоНачислениямОстаткиИОбороты.Квартиросъемщик.ЛицевойСчет,
| РасчетыПоНачислениямОстаткиИОбороты.Начисление
|
|УПОРЯДОЧИТЬ ПО
| КвартиросъемщикЛицевойСчет";
Запрос.УстановитьПараметр("Нач",НачалоМесяца(КонецМесяца(ДатаОбр)+1));
Запрос.УстановитьПараметр("Кон",ОплатыК);
Запрос.УстановитьПараметр("НачалоН",НачалоМесяца(ДатаОбр));
Запрос.УстановитьПараметр("КонецН",КонецМесяца(ДатаОбр));
Если ЗначениеЗаполнено(ВыборДома) Тогда
Запрос.Текст = Запрос.Текст + "
| И РасчетыПоНачислениямОстаткиИОбороты.Квартиросъемщик.Владелец.Владелец.Наименование = &Дом";
Запрос.УстановитьПараметр("Дом", ВыборДома);
КонецЕсли;
РезультатЗапроса = Запрос.Выполнить();
ПоказатьОтветы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
так если у вас это условие отрабатывает
то у вас текст запроса получается такой
конец запроса
...
при такой конструкции точно ошибка при выполнении будет
Если ЗначениеЗаполнено(ВыборДома) Тогда
Запрос.Текст = Запрос.Текст + "
| И РасчетыПоНачислениямОстаткиИОбороты.Квартиросъемщик.Владелец.Владелец.Наименование = &Дом";
Запрос.УстановитьПараметр("Дом", ВыборДома);
КонецЕсли;
то у вас текст запроса получается такой
конец запроса
...
|
|УПОРЯДОЧИТЬ ПО
| КвартиросъемщикЛицевойСчет
| И РасчетыПоНачислениямОстаткиИОбороты.Квартиросъемщик.Владелец.Владелец.Наименование = &Дом";
при такой конструкции точно ошибка при выполнении будет
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот