|
подскажите как написать запрос по квартирам в подъездах | ☑ | ||
---|---|---|---|---|
0
dimanikko
10.02.16
✎
14:19
|
Исходные данные:
Справочник: Подъезды указана этажность подъезда Справочник объектов: Указана квартира, ее этаж и подъезд Хочу получить таблицу где будет отражено какая таблица на каком этаже и в каком подъезде находится. Количество этажей и подъездов может быть различно. Подскажите как при помощи запроса получить вот такую таблицу Подъезд 1|Подъезд 2 9 этаж | 9 кв | 18 кв 8 этаж | 8 кв | 17 кв 7 этаж | 7 кв | 16 кв ... и так далее до нижнего этажа Направьте в нужном направлении плз |
|||
1
Dotoshin
10.02.16
✎
14:23
|
(0) Подъезды это колонки что-ли?
|
|||
2
dimanikko
10.02.16
✎
14:24
|
(1)Да подъезды это колонки
|
|||
3
Molinor
10.02.16
✎
14:25
|
А на одном этаже в одном подъезде только одна квартира?
|
|||
4
Dotoshin
10.02.16
✎
14:25
|
(2) Тогда запросом не получится - тебе надо подъезды развернуть в строку, а 1с в запросах так не умеет
|
|||
5
dimanikko
10.02.16
✎
14:26
|
(3) в одном подъезде может быть несколько квартир
|
|||
6
Molinor
10.02.16
✎
14:27
|
(5) И как их выводить в твою таблицу?
|
|||
7
Dotoshin
10.02.16
✎
14:27
|
+(4) Ну то есть количество колонок(подъездов) - переменная величина
|
|||
8
dimanikko
10.02.16
✎
14:27
|
(6) да хоть через запятую )
|
|||
9
Molinor
10.02.16
✎
14:27
|
(8) Вперёд осваивать СКД. Там всё это довольно просто делается.
|
|||
10
dimanikko
10.02.16
✎
14:28
|
(9)вот и хочу сделать это при помощи скд
|
|||
11
Dotoshin
10.02.16
✎
14:29
|
(10) ну так делай :)
|
|||
12
Molinor
10.02.16
✎
14:29
|
(10)
Выбрать Квартиры.Ссылка КАК квартира, Квартиры.Этаж КАК Этаж, Квартиры.Подъезд КАК Подъезд ИЗ Справочник.Квартиры КАК Квартиры Вот твой запрос, дальше всё делается настройками СКД. |
|||
13
dimanikko
10.02.16
✎
14:30
|
(12)ок, понял беру паузу
|
|||
14
Dotoshin
10.02.16
✎
14:33
|
(13) может как то поможет http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=604662
|
|||
15
Aceforg
10.02.16
✎
14:40
|
(12) Не все так просто, надо учесть, что некоторых квартир может и не быть в базе, а этажность подъезда известна.
Надо выводить этажи где нет квартир. |
|||
16
Dotoshin
10.02.16
✎
14:44
|
(15) >>Надо выводить этажи где нет квартир.
Это как? Этаж фантом? |
|||
17
Molinor
10.02.16
✎
14:46
|
(16) Например, на первом этаже нет квартир, а одни магазины с отдельными входами и автору их не надо у себя в базу держать. Но эту задачу пусть автор уж сам решает.
|
|||
18
Aceforg
10.02.16
✎
14:48
|
(16) Офисы или просто не заведены в базу
Или допустим подъезд в 100 этажей, а в базе заведены квартиры первого и последнего этажа. Выводить-то по ТЗ надо все этажи |
|||
19
Garykom
гуру
10.02.16
✎
14:50
|
(0) Правильный ответ: Перестать засовывать запросы в каждую дырку!
|
|||
20
ifso
10.02.16
✎
15:16
|
(19) отбор дырок запросом, не?)
|
|||
21
Garykom
гуру
10.02.16
✎
15:20
|
(20) отбирать можно и запросом... но вот сначала дырки раскладывать по феншую а потом туда засовывать всякое разное - это болезнь современных "программистов"
которые даже что такое циклы "до" и "пока" не знают и в чем разница |
|||
22
AceVi
11.02.16
✎
10:13
|
Делается все просто.
Определяешь макс кол-во этажей. формируешь таблицу типа 1 2 3 ... 100 Это втЭтажи. Как внешние данные помешаешь ее в СКД. потом левым соединением к ней данные по квартирам. Итого у тебя конечная таблица с данными по всем возможным этажам в т.ч. и пустым. Далее в СКД группируешь как тебе надо и все. Только так, больше ты никак не получишь пустые этажи в СКД. Если несколько квартир в одном подъезде на 1 этаже - Сначала делаешь левое соединение Этажи.НомерЭтажа <= Подьед.КолЭтажей Получишь таблицу со всеми подъездами и этажами - что то типа 1 П1 1 П2 1 П3 2 П1 2 П3 ... 100 П1 делаешь левое соединение с даннми по квартирам Этаж=Этаж и Подьез=Поьезд где Квартира = Квартира + ВЫБОР КОГДА ЕСТЬNUUL(ДанныеПоКвартирам.Квартира.0) = 0 Тогда "" ИНАЧЕ ","+ВЫРАЗИТЬ(ДанныеПоКвартирам.Квартира КАК Строка(3)) Потом в скд первую запятую уберешь и все. у тебя таблица с данными по этажам и подбездам и Реквизит Квартиры - где в строке с запятой перечислены все квартиры. |
|||
23
cw014
11.02.16
✎
10:20
|
Если будешь перебирать запрос - тебе "ИТОГИ ПО" в помощь. В противном случае СКД бери
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |