|   |   | 
| 
 | как в запросе получить уровни приоритетов по группам? | ☑ | ||
|---|---|---|---|---|
| 0
    
        Stim 06.04.15✎ 23:29 | 
        Есть справочник Номенклатура с товарами в группах.
 есть РС ЦеныНоменклуры, где можно указывать либо номенклатуру или группу(родителя) Допустим, мы продаем книги. На всю группу книги установили цену в 100руб. в этой группе есть подгруппа СуперОбложка, цену на которые установили 150. и наконец в это подгруппе есть элемент Букварь за 200руб. в регистре 3 записи: Книги 100р СуперОбложка 150р Букварь 200р каким образом построить запрос, чтобы получить актуальную цену, скажем, Букваря? Если цена на него не задана, то берем цену ближайшего родителя. Количество родителей не ограничено. | |||
| 1
    
        RomanYS 06.04.15✎ 23:41 | 
        "Количество родителей не ограничено" - данное условие делает задачу сугубо теоретической.     | |||
| 2
    
        Stim 06.04.15✎ 23:42 | 
        (1) ну.. количество ограничено здравым смыслом, но заранее не известно.     | |||
| 3
    
        D_E_S_131 06.04.15✎ 23:43 | 
        Очень похоже на наследование прав доступа к файлам через папки. Вот только у каждого файла правило сразу однозначное (либо унаследованное, либо установленное конкретно). Почему-то разработчики Windows не пошли путем вычисления значений значений в момент осуществления доступа и решили всегда хранить заранее определенное значение. Наверное потому что дураки...     | |||
| 4
    
        RomanYS 06.04.15✎ 23:46 | 
        (2) на мой вгляд 5-6 уровней для справочника Номенклатура уже на грани здравого смысла. Если ты знаешь как написать запрос для 2-х уровней, то сможешь и для 8-10. Иначе...(1)     | |||
| 5
    
        Stim 06.04.15✎ 23:48 | 
        (4) хотелось бы более универсальное решение. независящее от уровней групп     | |||
| 6
    
        Otkr 06.04.15✎ 23:50 | 
        (5) Нужен запрос для определения цены конкретной позиции?     | |||
| 7
    
        RomanYS 06.04.15✎ 23:50 | 
        (5) тогда смотри в сторону (3): храни в отдельном регистре всех родителей с уровнями. Обновлять можно по подписке.     | |||
| 8
    
        Stim 06.04.15✎ 23:51 | 
        (6) ну да. один запрос     | |||
| 9
    
        Otkr 06.04.15✎ 23:54 | 
        (8) Одним хз, может рекурсией? Типа нет цены для элемента, ищем для группы элемента, нет для группы элемента, то ищем для группы группы и т.д?     | |||
| 10
    
        DrShad 07.04.15✎ 00:02 | 
        (8) а как уже пробовал? Соединения какие делал?     | |||
| 11
    
        ИС-2 07.04.15✎ 07:34 | 
        (0) это называется неправильная архитектура. Но жутко нравится пользователям. Я делал, но сразу было обговорено кол-во уровней иерархии.
 В каждой временной таблице делал разворот по ценам и номенклатуре для своего уровня иерархии. Потом объединял развернутые таблицы. Определял минимальный уровень номенклатуры. И в конце объединял все в 1 запрос. Объем вычислений был большим. Самое разумное решение, в данной ситуации, хранить уже готовые данные в регистре. Но все равно надо написать запрос для расчета... | |||
| 12
    
        Skom 07.04.15✎ 07:46 | 
        Если цена на него не задана, то берем цену ближайшего родителя. ???
 Вы реально устанавливаете цену для группы справочника? | |||
| 13
    
        Skom 07.04.15✎ 07:51 | 
        (12) отпал вопрос.     | |||
| 14
    
        Skom 07.04.15✎ 08:05 | 
        а у тебя где это используется? при проведении? в отчетах? или где?     | |||
| 15
    
        Лодырь 07.04.15✎ 08:20 | 
        (0) в (7) верное решение.     | |||
| 16
    
        Skom 07.04.15✎ 08:21 | 
        (15) Можно, а можно просто реквизит УРОВЕНЬ добавить в справочник. А можно и без него.     | |||
| 17
    
        Лодырь 07.04.15✎ 08:24 | 
        (16) реквизит уровень? и чем тебе поможет? задачу вычисления всех родителей элемента в запросе ты все равно не решишь.     | |||
| 18
    
        Skom 07.04.15✎ 08:51 | 
        ВЫБРАТЬ 
 Ном.Ссылка ИЗ Справочник.Номенклатура КАК Ном ГДЕ Ном.Ссылка=&Эл ИТОГИ ПО Ном.Ссылка ТОЛЬКО ИЕРАРХИЯ | |||
| 19
    
        Skom 07.04.15✎ 08:51 | 
        все родители данного элемента     | |||
| 20
    
        Stim 07.04.15✎ 08:57 | 
        (14) реально используется, да.
 сделал конешн рекурсией, но интересно как можно получить одним запросом. впринципе можно и текст запроса составить в рекурсии, или просто в цикле по родителям | |||
| 21
    
        Simod 07.04.15✎ 09:00 | 
        (20) Никак. Пример из (18) нельзя поместить во врем.таблицу для хранения и использовании иерархии.     | |||
| 22
    
        Skom 07.04.15✎ 09:35 | 
        (21) почему ж?     | |||
| 23
    
        Simod 07.04.15✎ 09:53 | 
        Пример.     | |||
| 24
    
        D_E_S_131 07.04.15✎ 10:16 | 
        (20) В (3) нужно обратить внимание на фразу "Наверное потому что дураки..."     | |||
| 25
    
        Лодырь 07.04.15✎ 10:21 | 
        (24) Ну они таки решали другую задачу в другом окружении.
 А сама логика решения описанная в (0) - ОЧЕНЬ распространенная в 1С. | |||
| 26
    
        Ненавижу 1С гуру 07.04.15✎ 10:22 | 
        я в таких случая прописываю значения элементам при записи на папку     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |