Имя: Пароль:
1C
1С v8
иерархия групп
0 lim9
 
16.09.11
12:54
пишу запрос, для справ. Номенклатура, у которой четко 3 уроня иерархии групп: Т.е.
Папка-|
     Подпапка-|
             ПодПодПапка-|
                         Элементы...
Явно в параметрах указываю названия имеющихся групп, а запрос выдается ПУСТОЙ.
Запрос.Текст="ВЫБРАТЬ
            |    Номенклатура.Ссылка,
            |    Номенклатура.ПометкаУдаления,
            |    Номенклатура.Родитель,
            |    Номенклатура.ЭтоГруппа,
            |    Номенклатура.Код,
            |    Номенклатура.Наименование
            |ИЗ
            |    Справочник.Номенклатура КАК Номенклатура
            |ГДЕ
            |    Номенклатура.ПометкаУдаления = ЛОЖЬ
            |    И Номенклатура.Родитель.Родитель.Наименование ПОДОБНО &Гр
            |    И Номенклатура.Родитель.Наименование ПОДОБНО &ПодГр
            |    И Номенклатура.Наименование ПОДОБНО &Бренд
            |    И Номенклатура.ЭтоГруппа = Истина";
1 lim9
 
16.09.11
12:55
что не так??
2 Шапокляк
 
16.09.11
12:56
Да много чего может быть. Например, параметры через ж... заданы.
3 trambalda
 
16.09.11
12:57
И вообще запросы такие писать нехорошо
4 lim9
 
16.09.11
12:59
в параметрах тип Строка, один в один названия имеющихся групп:
Запрос.УстановитьПараметр("Гр",Гр);            
Запрос.УстановитьПараметр("ПодГр",ПодГр);            
Запрос.УстановитьПараметр("Бренд",Бренд);

естественно обрезанные на незначащие символы.

А как можно переписать запрос??
5 trambalda
 
16.09.11
13:02
Три уровня иерархии это значит Группа - Подгруппа - Элемент.
А у тебя в запросе поиск родителя.родителя и одновременно условие этогруппа = истина. Вот тебе и пустой запрос на выходе.
6 Шапокляк
 
16.09.11
13:04
(5) Судя по (0) ТС просто по количеству уровней обсчитался.
(4) А ты точно знаешь, что в справочнике номенклатура можно найти что-то, удовлетворяющее параметрам запроса?
7 lim9
 
16.09.11
13:14
ребята, ну не поймите! три уровня групп + элементы! так и есть!! а то что передаю в запрос взято из названий групп!
8 lim9
 
16.09.11
13:15
подскажите как можно переписать запрос!
9 ДемонМаксвелла
 
16.09.11
13:17
Какой смысл передавать группу, если знаем подгруппу? Какой смысл передавать подгруппу, если знаем элемент? И вообще, ссылки надо передавать в запрос.
10 FIXXXL
 
16.09.11
13:18
(7) передавай ссылки на нужные группы, во-первых
во-вторых:
           |    И Номенклатура.Родитель.Родитель.Наименование ПОДОБНО &Гр
            |    И Номенклатура.Родитель.Наименование ПОДОБНО &ПодГр
            |    И Номенклатура.Наименование ПОДОБНО &Бренд

это все папки должны быть?
11 ДемонМаксвелла
 
16.09.11
13:18
Что сделать хочешь?
12 trambalda
 
16.09.11
13:19
А в чем задача? Зачем проверять имена родителей? В справочнике одинаковые наименования? Нет возможности искать по коду? Нет возможности сделать предопределенные элементы? Запрос с тремя "ПОДОБНО" по большому справочнику это вроде как тормоз несусветный.
13 lim9
 
16.09.11
13:20
дело в том, что эти имена групп идут из экселя, из прайса, соотвественно ссылки передать не могу!
Суть в том, что я знаю имена двух верхних групп, и мне надо проверить есть ли там третья вложенная группа с искомым именем, вот что нужно от запроса
14 trambalda
 
16.09.11
13:30
Запрос работать должен, значит проблема с передаваемыми параметрами. Покажи, что передаешь, и что ожидаешь найти.
15 lim9
 
16.09.11
13:51
так вот я создаю элемент, из прайса, зная два верхних уровня групп, этот элемент мне нужно поместить в третью(по уровню) подпапку, и перед этим нужно проверить есть ли уже такая папка (третьего уровня) или нужно создать новую. все просто.
вроде ))
16 vmv
 
16.09.11
14:01
Если группы уже созданыы, тот уже при создании эти группы можно упаковать в массив или другую примитивную коллекцию и потом в запросе работать со ссылками.

А так мне этот лепет напоминает тухлые аргументы бухгалтерши на пенсии "Я привыкла в экселе и мне так удобно")
17 trambalda
 
16.09.11
14:05
(15) Покажи что конкретно ты подаешь в параметры, какие значения, и с каким значениями в справочнике ты ожидаешь, чтобы запрос их сопоставил, например: передаю Гр = "ййй", ПодГр = "ццц", Бренд = "ууу", в справочнике есть такие группы: Группа = "ййй" ... и так далее. Есть мысль, что ты неверно понимаешь как работает ПОДОБНО.