Имя: Пароль:
1C
 
Найти элемент справочника принадлежащий конкретному родителю
0 Нехта
 
26.02.07
18:48
Как найти элемент справочника по наименованию (находящийся на любом уровне) принадлежащий конкретному родителю (1-ого уровня), если в справочнике имеется несколько элементов с одинаковыми наименованиями?
1 avmlvm
 
26.02.07
18:51
(0) запросы - рулят :-)
2 IronDemon
 
26.02.07
18:52
Где Ссылка.Наименование=&Наименование и Ссылка.Родитель=&Родитель
3 Нехта
 
26.02.07
18:54
(2) в этом варианте будет проверяться в том числе и глубокие вложения, если уровень родителя = 1, а уровень на котором находится элемент 5?
4 Neco
 
26.02.07
18:54
Можно и не запросом:

НайтиПоНаименованию(<Наименование>, <Точное соответствие>, <Родитель>, <Владелец>)
5 Нехта
 
26.02.07
18:55
(4) Не подходит. проверяется в данном случае только непосредственный родитель.
6 avmlvm
 
26.02.07
18:58
(3) Нет.. но никто  не мешает использовать конструктиФФ:

Где (Ссылка.Наименование=&Наименование и Ссылка.Родитель=&Родитель)
   или (Ссылка.Наименование=&Наименование и Ссылка.Родитель.Родитель=&Родитель)
   или  (Ссылка.Наименование=&Наименование и Ссылка.Родитель.Родитель.Родитель=&Родитель)

и т.д. :-)
7 Нехта
 
26.02.07
19:00
(6) забавная идея, видимо ей и воспользуюсь. Спасиб.
Может заодно подскажите текст запроса, в котором название справочника забивается при помощи параметров. Т.к. эта функция должна работать с любыми справочниками.
8 avmlvm
 
26.02.07
19:05
(8) У тебя запрос формируется как ТЕКСТОВАЯ строка... Т.е. тут извращаться с конструктивом можно вообще "извратно" :-)

ЗЫ.. ну типа

Запрос.Текст = "Выбрать " + ИмяПараметра + " из " + ИмяСправочника +
            | "Где (Ссылка.Наименование=&Наименование и Ссылка.Родитель=&Родитель)" +
            | " или (Ссылка.Наименование=&Наименование и Ссылка.Родитель.Родитель=&Родитель)"
            | "  или  (Ссылка.Наименование=&Наименование и  Ссылка.Родитель.Родитель.Родитель=&Родитель) ";
9 IronDemon
 
26.02.07
19:08
ВЫБРАТЬ
   МойСправ.Ссылка,
   МойСправ.Представление
ИЗ
   "Справочник."+НужныйСправочник+" КАК МойСправ
ГДЕ
   МойСправ.Наименование ПОДОБНО &Наименование
   И МойСправ.Родитель = &Родитель
10 avmlvm
 
26.02.07
19:10
(9) (шопотом) только нужно использовать конструктив:

ИЗ
   "СправочникИ."+НужныйСправочник+" КАК МойСправ
11 Neco
 
26.02.07
19:16
(6) Это не совсем корректно, поскольку глубина иерархии может быть разная, лучше так

ГДЕ
  Наименование=&Наименование И Родитель В ИЕРАРХИИ (&Родитель)

Кстати, (4) эквивалент этого запроса
12 Neco
 
26.02.07
19:19
(10) Мля, ну ты ламер.
IronDemon все правильно написал, пример работающий:

ВЫБРАТЬ
   Номенклатура.Ссылка
ИЗ
   Справочник.Номенклатура КАК Номенклатура
ГДЕ
   Номенклатура.Наименование ПОДОБНО "%" + &Наименование + "%"
   И Номенклатура.Родитель В ИЕРАРХИИ(&Родитель)
AdBlock убивает бесплатный контент. 1Сергей