|   |   | 
| 
 | подскажите как написать запрос по квартирам в подъездах | ☑ | ||
|---|---|---|---|---|
| 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 | 
        Если будешь перебирать запрос - тебе "ИТОГИ ПО" в помощь. В противном случае СКД бери     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |