Связывание таблиц по В ИЕРАРХИИ #268404


#0 by Ya-Ya
Добрый день! Столкнулся со след проблемой: Есть некий справочник с реквизитами счет и подразделение причем с реквизите счет может быть указана группа тогда необходимо выбрать итоги (по Дт обороту по счету) по всей группе, такая же ситуация с подразделением Вопрос как в условии связи двух таблиц учесть этот момент, напршивается использования В ИЕРАРХИИ но тут в параметре необходим список значений, как его можно получить запросом с учетом значения в   "Справочник1.Подразделение"??? Возможно есть другой варинат запроса?        Справочник.Справочник1 КАК Справочник1        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(        &НачПериода,        &КонПериода,                                ,
#1 by ТелепатБот
#2 by DF_Slayer
А где проблема? :) Ситуацию описал, а че не работает?
#3 by sergeante
В ИЕРАРХИИ прекрасно работает со списком
#4 by Ya-Ya
Да только как его получить в запросе хотелось бы так  ПО ХозрасчетныйОборотыДтКт.СчетДт В ИЕРАРХИИ(Справочник1.СчетДт)  И  В ХозрасчетныйОборотыДтКт.Субконто1 в ИЕРАРХИИ (Справочик1.Подразделение) а не работает как выкрутиться или на что заменить?
#5 by sergeante
дык передавай в параметр группу счета/номенклатуры ... СчетДт В ИЕРАРХИИ(&СчетДт) И ...Субконто В ИЕРАРХИИ (&Номенклатура)
#6 by Ya-Ya
мне нужен не конкретный статичный параметр &Счет или &Cубконто а значение которое я получаю при в выполнении запроса из таблицы справочника
#7 by sergeante
в иерархии(выбрать... из... где ...)
#8 by vs84
Может В ИЕРАРХИИ (Вложенный запрос)?
#9 by Ya-Ya
только как в запросе "выбрать...из...где..." использовать значение "Справочник1.СчетДт" например, как его туда передать?
#10 by vs84
Выбрать Справочник1.СчетДт Из Справочники.Справочник1 Как Справочник1
#11 by Ya-Ya
Как написать такой вложенный запрос?
#12 by AntonioS
и что это действительно работает?
#13 by vs84
можно скопировать ))
#14 by vs84
действительно
#15 by Ya-Ya
такая выборка делается в первой части запроса а потом по значениям этой выборки нужно отобрать итоги. Как указано в условии ПО работает но если в справочнике указали не счет-элемнт а счет-группу то тогда равенство не выполниться, а нужно
#16 by sergeante
так не надо делать левого соединения
#17 by Ya-Ya
И что из этого получится?
#18 by Ya-Ya
Как без соединения связать две таблицы
#19 by sergeante
непонятен смысл запроса... какаято непонятная группировка для чего-то... Может подробнее объяснишь, что нужно получить?
#20 by Geza
Соединение по иерархии сделать похоже не получится (во всяком случае я не понял как). Поэтому извращался так ИЛИ ............ и так далее.....
#21 by Ya-Ya
Спасибо!  за неимением другого подойдет и это но у меня вообще-то справочник с неограниченным уровнем иерархии показываю на примере а)Есть справочник - Справочник1, со следующим набором элементов (Наименование|Счет|Подразделение) Элемент1 20 Подр1 Элемент2 20 Подр2 Элемент3 25 <> Элемент4 26 Подр1 ... б)Есть справочник Подразделения (Иерархический) Подр1  -П1/Субподр1  -П1/Субподр3 Подр2  -П2/Субподр2 в)Есть регистр бухгалтерии с проводками (СчетДт,Субконто1(Подразделения),Сумма) Дт 20 П1/Субподр1 100 Дт 20 П1/Субподр1 200 Дт 20 П1/Субподр2 300 Дт 20 П2/Субподр2 400 Дт 20 П1/Субподр3 500 Дт 20 П2/Субподр1 1000 Дт 20 П2/Субподр2 2000 Дт 25 П2/Субподр1 10 Дт 25 П1/Субподр1 10 Дт 26 П1/Субподр3 10000 Дт 26 П2/Субподр1 20000 Нужен запрос который вернет таблицу след вида (ЭлементСправочника1, Сумма) Элемент1 1100 Элемент2 3400 конечно работает но, а) проблема в том что справочник Подразделения неограничен в иерархии б) может есть более красивое решение(для справочников с ограниченной иерархией)
#22 by Ya-Ya
UP
#23 by Geza
да у меня тож с неограниченным, но пришлось сделать допущение что больше пяти уроней не будет....
#24 by Naumov
Ну если Работает, то можно гармошку на количество уровней составлять исходя из количества имеющихся уровней и вставлять в текст запроса.
#25 by Riki_tiki_tavi
Могу предложить экзотический|извращенный (нужное подчеркнуть) вариант отбора по группам. Вводим дополнительный реквизит, например "идентификатор". При добавлении в справочник туда будут записываться порядковые номера подразделений в списке иерархии, тобишь  -П2/Субподр2  02020000 Для отбора всех Субподгрупп подгруппы 2 в секции сапроса WHERE добавляется Подразделения.идентификатор LIKE '02%' Идентификаторы могут быть и строковыми с номерами вида 02AZ0BNS Ну и для полноты ощущений добавляем индекс по реквизиту идентификатора. Способ для экстремалов, но зато красиво :) З.Ы. чё курил не скажу %)
#26 by Ya-Ya
Как бы ПолныйКод использовать, нужно подумать....
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С