|   |   | 
| 
 | Что не так в этом запросе? | ☑ | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0
    
        tochki 05.12.14✎ 11:16 | 
 
        Очень хочу узнать в какой Большой папке сидит товар. Пишу запрос:
 ВЫБОР КОГДА Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель ССЫЛКА Справочник.Номенклатура ТОГДА Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель ИНАЧЕ ВЫБОР КОГДА Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель ССЫЛКА Справочник.Номенклатура ТОГДА Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель ИНАЧЕ ВЫБОР КОГДА Номенклатура.Родитель.Родитель.Родитель.Родитель ССЫЛКА Справочник.Номенклатура ТОГДА Номенклатура.Родитель.Родитель.Родитель.Родитель ИНАЧЕ ВЫБОР КОГДА Номенклатура.Родитель.Родитель.Родитель ССЫЛКА Справочник.Номенклатура ТОГДА Номенклатура.Родитель.Родитель.Родитель ИНАЧЕ ВЫБОР КОГДА Номенклатура.Родитель.Родитель ССЫЛКА Справочник.Номенклатура ТОГДА Номенклатура.Родитель.Родитель ИНАЧЕ ВЫБОР КОГДА Номенклатура.Родитель ССЫЛКА Справочник.Номенклатура ТОГДА Номенклатура.Родитель ИНАЧЕ ЛОЖЬ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ КОНЕЦ Есть варианты покрасивее? | |||||||||||||
| 1
    
        Легат 05.12.14✎ 11:17 | 
        может можно было зациклить?..     | |||||||||||||
| 2
    
        Alex S D 05.12.14✎ 11:18 | 
        Всегда так пишу     Автор всё правильно сделал | |||||||||||||
| 3
    
        Любопытная 05.12.14✎ 11:19 | 
        ПОлноеНаименование() Пробовали?     | |||||||||||||
| 4
    
        Ёпрст гуру 05.12.14✎ 11:19 | 
        ВЫБРАТЬ
 Номенклатура.Ссылка, ВЫБОР КОГДА Номенклатура.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА Номенклатура.Родитель КОГДА Номенклатура.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА Номенклатура.Родитель КОГДА Номенклатура.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА Номенклатура.Родитель.Родитель КОГДА Номенклатура.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА Номенклатура.Родитель.Родитель.Родитель КОГДА Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА Номенклатура.Родитель.Родитель.Родитель.Родитель КОГДА Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель КОГДА Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель КОГДА Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка) ТОГДА Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель.Родитель КОНЕЦ КАК РодительВерхнегоУровня ИЗ Справочник.Номенклатура КАК Номенклатура Автор дурак | |||||||||||||
| 5
    
        Alex S D 05.12.14✎ 11:19 | 
        (3) в запросе?     | |||||||||||||
| 6
    
        Любопытная 05.12.14✎ 11:19 | 
        (5) Обязательно прям в запросе?     | |||||||||||||
| 7
    
        DirecTwiX 05.12.14✎ 11:19 | 
        (4) Опередил)     Автор дурак | |||||||||||||
| 8
    
        Maxus43 05.12.14✎ 11:20 | 
        1. Родитель.Родитель.Родитель ССЫЛКА Справочник.Номенклатура - тупое условие, надо проверять на ПустаяСсылка.
 2. обязательно в запросе? нет возможности промежуточной обработки? в коде верхний родитель просто узнаётся | |||||||||||||
| 9
    
        DCKiller 05.12.14✎ 11:20 | 
        (4) И сколько таких уровней иерархии в справочнике может быть? :)     | |||||||||||||
| 10
    
        Maxus43 05.12.14✎ 11:20 | 
        ах, да     Автор дурак | |||||||||||||
| 11
    
        pessok 05.12.14✎ 11:21 | 
        а не проще через Ссылка.ПолныйКод()?     | |||||||||||||
| 12
    
        Alex S D 05.12.14✎ 11:23 | 
        (11) в запросе?     | |||||||||||||
| 13
    
        Ёпрст гуру 05.12.14✎ 11:23 | 
        (9) ну, запрос можно динамически лепить, по количеству уровней справочника.     | |||||||||||||
| 14
    
        Alex S D 05.12.14✎ 11:24 | 
        (13) в скд?     | |||||||||||||
| 15
    
        Легат 05.12.14✎ 11:24 | 
        (9) Например в БП 3.0 всего 2..     | |||||||||||||
| 16
    
        DmitriyDI 05.12.14✎ 11:24 | 
        (14) в скд можно просто вывести первый уровень иерархии и не запариваться, с ними в запросе     | |||||||||||||
| 17
    
        tochki 05.12.14✎ 11:25 | 
        Как быстро пишете. Вобщем, мне без разницы как это сделать, через Запрос или через цикл. Только учусь, поэтому и возникают такие вопросы. Максимальная глубина папок взята с запасом. Что такое Ссылка.ПолныйКод() или ПОлноеНаименование() не знаю, сейчас поищу.
 А то что проверяю через ССЫЛКА - тоже издержки обучения. Для чего-то же этот оператор существует? PS Всех с пятницей! | |||||||||||||
| 18
    
        pessok 05.12.14✎ 11:25 | 
        (14) в (0) что-то есть про скд?     | |||||||||||||
| 19
    
        DmitriyDI 05.12.14✎ 11:26 | 
        (17) допустим отбор по виду документа     | |||||||||||||
| 20
    
        tochki 05.12.14✎ 11:26 | 
        Что интересно, ни у кого не возник вопрос "А что такое Большая папка". Для меня это еще недавно было загадкой :)     | |||||||||||||
| 21
    
        Alex S D 05.12.14✎ 11:26 | 
        (18) в (0) есть запрос.     | |||||||||||||
| 22
    
        pessok 05.12.14✎ 11:26 | 
        (17) не надо цикл, делай через
 КодРодителя = Справочники.Номенклатура.НайтиПоКоду(Лев(Номенклатура.ПолныйКод(), Найти(Номенклатура.Полный(), "/"); | |||||||||||||
| 23
    
        Ёпрст гуру 05.12.14✎ 11:26 | 
        (17) >>>Для чего-то же этот оператор существует? 
 Открой наконец, СП (или справку по F1) и ознакомься. | |||||||||||||
| 24
    
        Alex S D 05.12.14✎ 11:26 | 
        (20) да всем понятно как бы.. самая верхняя папка     | |||||||||||||
| 25
    
        pessok 05.12.14✎ 11:27 | 
        (21) если запрос есть, это не всегда значит, что он _нужен_     | |||||||||||||
| 26
    
        Alex S D 05.12.14✎ 11:28 | 
        (25) Нужен нужен. Остальное некошерно     | |||||||||||||
| 27
    
        pessok 05.12.14✎ 11:28 | 
        (26) ну запросом - только динамическое построение, т.к. количество родителей может быть бесконечным     | |||||||||||||
| 28
    
        DCKiller 05.12.14✎ 11:30 | 
        (0) Сделай в запросе
 ИТОГИ ПО Номенклатура ИЕРАРХИЯ и будет тебе на самом верхнем уровне выборке та самая БП, которая тебе так нужна... | |||||||||||||
| 29
    
        dmpl 05.12.14✎ 11:30 | 
        (4) Гарантированное непопадание в индекс, будет искаться тупым перебором. Если справочник большой - будет долго.     | |||||||||||||
| 30
    
        Alex S D 05.12.14✎ 11:30 | 
        (27) ближе к реальности надо быть. 10 уровней хватит     | |||||||||||||
| 31
    
        dmpl 05.12.14✎ 11:31 | 
        (0) Делай регистр сведений РодителиЭлемента.     | |||||||||||||
| 32
    
        pessok 05.12.14✎ 11:31 | 
        (28) все равно потом выборку обходить же     | |||||||||||||
| 33
    
        pessok 05.12.14✎ 11:32 | 
        (30) это уже называется "делать на отвали" :)     | |||||||||||||
| 34
    
        DCKiller 05.12.14✎ 11:32 | 
        (35) ну а как без этого-то? Если ты намекаешь на СКД, то там такое и не замутить... да и речи опять же про нее в сабже не было.     | |||||||||||||
| 35
    
        Alex S D 05.12.14✎ 11:33 | 
        (33) вот и "отвали" ))     | |||||||||||||
| 36
    
        pessok 05.12.14✎ 11:34 | 
        (34) просто в случае, когда все равно обходить результат запроса - проще от запроса отказаться вовсе     | |||||||||||||
| 37
    
        Ёпрст гуру 05.12.14✎ 11:35 | 
        (29) это понятно. В клюшках, по совету Алексея Диркса, заведена отдельная табличка с родителями, обновляемая триггером.
 Там, всё мгновенно ищется потом. | |||||||||||||
| 38
    
        wertyu 05.12.14✎ 11:36 | 
        (32) нет, только первое значение надо получить, будет или папка нулевого уровня или пустая ссылка     | |||||||||||||
| 39
    
        Ёпрст гуру 05.12.14✎ 11:36 | 
        (31) придётся всегда учитывать его актуальность, особенно, если элементы будут двигать обработками по разным группам     | |||||||||||||
| 40
    
        DCKiller 05.12.14✎ 11:36 | 
        (36) Ну что за ересь... Запрос, который не в СКД, в подавляющем большинстве случаев выполняется для того, чтобы его результат обходить, а не в ТЗ или дерево выгружать.     | |||||||||||||
| 41
    
        Ёпрст гуру 05.12.14✎ 11:37 | 
        ну или, есть банальное создание новых элементов переносом с другой базы, к примеру.     | |||||||||||||
| 42
    
        dmpl 05.12.14✎ 11:37 | 
        (37) Ну а в 8-ке - РС с подпиской на обновление при записи нового элемента.     | |||||||||||||
| 43
    
        Alex S D 05.12.14✎ 11:37 | 
        (39) (41) вы шутите надеюсь?     | |||||||||||||
| 44
    
        DCKiller 05.12.14✎ 11:38 | 
        (42) При групповой обработке элементов будут дикие тормоза.     | |||||||||||||
| 45
    
        dmpl 05.12.14✎ 11:38 | 
        (39) Обработчик при записи в случае изменения родителя. Кстати, в РС можно ввести измерение Уровень - и знать родителя на произвольном уровне иерархии.     | |||||||||||||
| 46
    
        dmpl 05.12.14✎ 11:38 | 
        (44) Загрузка = Истина + запуск обработки построения регистра после.     | |||||||||||||
| 47
    
        pessok 05.12.14✎ 11:40 | 
        (43)у одноэсников пяяяяяятница :)     | |||||||||||||
| 48
    
        Alex S D 05.12.14✎ 11:41 | 
        (47) а точно.. отдельной ветки то нет)     | |||||||||||||
| 49
    
        Ёпрст гуру 05.12.14✎ 11:42 | 
        (43) нет. Можно же пихать элементы не только средствами 1с, а напрямую в таблички.
 Ну или менять родителя. | |||||||||||||
| 50
    
        dmpl 05.12.14✎ 11:43 | 
        (49) Ну знаешь же, что поменял - запусти перестроение РС.     | |||||||||||||
| 51
    
        Ёпрст гуру 05.12.14✎ 11:44 | 
        ладно, уговорил.
 Тока мне всё это не нужно. У меня нет алгоритмов, завязанных на иерархии справочника. | |||||||||||||
| 52
    
        Ёпрст гуру 05.12.14✎ 11:44 | 
        :)     | |||||||||||||
| 53
    
        tochki 05.12.14✎ 11:52 | 
        Спасибо за совет по ПолномуНаименованию(). Это то что надо! Если бы знал что есть такой реквизит, то и заморачиваться с запросом не стал бы.     | |||||||||||||
| 54
    
        Любопытная 05.12.14✎ 11:56 | 
        (53) А-ха-ха! Всем, кто вопил, что "если запрос есть, значит от нужен" большой привет :)     | |||||||||||||
| 55
    
        antoneus 05.12.14✎ 11:57 | 
        (14) запросто     | |||||||||||||
| 56
    
        Гёдза 05.12.14✎ 11:58 | 
        можно через замыкание делать
 http://infostart.ru/public/158512/ | |||||||||||||
| 57
    
        pessok 05.12.14✎ 12:24 | 
        (53) я победил! :p     | |||||||||||||
| 58
    
        pessok 05.12.14✎ 12:25 | 
        а не, не я, Любопытная была раньше     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |