|
Как правильно составить запрос | ☑ | ||
---|---|---|---|---|
0
егаис
31.05.17
✎
09:42
|
Звпрос должен связывать 3 РС: лицевые счета, данные помещения лицевых счетов и еще один - доли лицевых счетов (для коммунальных квартир).
Ниже запрос по первым двум регистрам. Как учесть в ресурсах "площади" эти доли? РС называется КВП_РазмерыДолейЛицевыхСчетов и он заполняется только при наличии долей по л/с. ВЫБРАТЬ КВП_ЛицевыеСчетаСрезПоследних.ЛицевойСчет, КВП_ЛицевыеСчетаСрезПоследних.Объект.Владелец КАК Здание, СУММА(Площади.ОбщаяПлощадь) КАК ОбщаяПлощадь, СУММА(Площади.РасчетнаяПлощадь) КАК РасчетнаяПлощадь, ИЗ РегистрСведений.КВП_ЛицевыеСчета.СрезПоследних(&Период, ) КАК КВП_ЛицевыеСчетаСрезПоследних ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ КВП_ПлощадьПомещенияСрезПоследних.Объект КАК Объект, СУММА(ВЫБОР КОГДА КВП_ПлощадьПомещенияСрезПоследних.ВидПлощади = ЗНАЧЕНИЕ(Справочник.УПЖКХ_ВидыПлощадей.ОбщаяПлощадь) ТОГДА КВП_ПлощадьПомещенияСрезПоследних.Площадь ИНАЧЕ 0 КОНЕЦ) КАК ОбщаяПлощадь, СУММА(ВЫБОР КОГДА КВП_ПлощадьПомещенияСрезПоследних.ВидПлощади = &Расчетная ТОГДА КВП_ПлощадьПомещенияСрезПоследних.Площадь ИНАЧЕ 0 КОНЕЦ) КАК РасчетнаяПлощадь ИЗ РегистрСведений.КВП_ПлощадьПомещения.СрезПоследних(&Период, ) КАК КВП_ПлощадьПомещенияСрезПоследних СГРУППИРОВАТЬ ПО КВП_ПлощадьПомещенияСрезПоследних.Объект) КАК Площади ПО КВП_ЛицевыеСчетаСрезПоследних.Объект = Площади.Объект ГДЕ КВП_ЛицевыеСчетаСрезПоследних.Действует = ИСТИНА СГРУППИРОВАТЬ ПО КВП_ЛицевыеСчетаСрезПоследних.ЛицевойСчет, КВП_ЛицевыеСчетаСрезПоследних.Объект.Владелец |
|||
1
PCcomCat
31.05.17
✎
09:49
|
Доля по отношению к общей площади?
|
|||
2
егаис
31.05.17
✎
09:54
|
к общей и расчетной
|
|||
3
rabbidX
31.05.17
✎
09:59
|
А в чем проблема? Добавьте регистр, домножьте площади на доли.
|
|||
4
егаис
31.05.17
✎
10:03
|
(3) доли только по ЛС, где есть эти доли
Как домножать на пустое значение? |
|||
5
егаис
31.05.17
✎
10:06
|
кв1 Иванов доля 1/2
кв1 Петров доля 1/2 кв2 Сидоров кв3 Пупкин ... |
|||
6
h-sp
31.05.17
✎
10:08
|
(5) ну условие вставьте, если пустое, значит не домножать. Что-то странные вопросы задаете.
|
|||
7
егаис
31.05.17
✎
10:12
|
(6) туплю, можно примером
добавляем в запрос ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КВП_РазмерыДолейЛицевыхСчетов.СрезПоследних(&Период, ) КАК КВП_РазмерыДолейЛицевыхСчетовСрезПоследних ПО КВП_РазмерыДолейЛицевыхСчетовСрезПоследних.ЛицевойСчет = КВП_ЛицевыеСчетаСрезПоследних.ЛицевойСчет дальше? |
|||
8
h-sp
31.05.17
✎
10:18
|
(7) ну, сами напишите, а мы поправим, неужели читать еще портянку эту.
|
|||
9
dezss
31.05.17
✎
10:23
|
(7) Выбор Когда Доля Есть NuLL
Тогда Полное Иначе Полное/Доля Конец |
|||
10
егаис
31.05.17
✎
10:26
|
(8), (9) во я тупанул
СУММА(ВЫБОР КОГДА КВП_РазмерыДолейЛицевыхСчетовСрезПоследних.ДоляЗнаменатель = 0 ИЛИ КВП_РазмерыДолейЛицевыхСчетовСрезПоследних.ДоляЗнаменатель ЕСТЬ NULL ТОГДА Площади.ОбщаяПлощадь ИНАЧЕ Площади.ОбщаяПлощадь * КВП_РазмерыДолейЛицевыхСчетовСрезПоследних.ДоляЧислитель / КВП_РазмерыДолейЛицевыхСчетовСрезПоследних.ДоляЗнаменатель КОНЕЦ) КАК ОбщаяПлощадь, спасибо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |