Имя: Пароль:
1C
1C 7.7
v7: Как ВыбратьЭлементыПоРеквизиту с подч. элементами до самого глубокого уровня Спр
0 vladimir-boy
 
26.10.12
15:52
СпрНоменклатура=СоздатьОбъект("Справочник.Номенклатура");
   
   Если  СпрНоменклатура.НайтиПоКоду("00001",0)=1 Тогда    //мы в корневой группе "Двери" 1-ого уровня
       СпрНоменклатура.ИспользоватьРодителя(СпрНоменклатура.ТекущийЭлемент());
   КонецЕсли;
   
   СпрНоменклатура.ВключатьПодчиненные(1);
   СпрНоменклатура.ВыбратьЭлементыПоРеквизиту("Текстура", СокрЛП(Текстура), 1, 0);
   
   Пока  СпрНоменклатура.ПолучитьЭлемент()=1  Цикл
       Сообщить(СпрНоменклатура.ПолноеНаименование()); //Млин печатает только Элементы 2-ого уровня (родителя 1-ого уровня "Двери"), а мне ещё нужны Элементы и последующих глубоких уровней
   КонецЦикла;
з.ы.: Флажок "Сортировка" у реквизита "Текстура" установлен
Спасибо за ответы.
1 Джордж1
 
26.10.12
15:54
СпрНоменклатура.ПолучитьЭлемент(1) ???
2 Ёпрст
 
26.10.12
15:55
(0) выборка будет только на первом уровне вложенности
3 vladimir-boy
 
26.10.12
15:57
(2) Спасибо. Это в связи с моим кривым кодом или функционалом самой 1с?????
4 vladimir-boy
 
26.10.12
15:57
(1) Не работает так тоже (1 - по  умолчанию идёт)
5 Ёпрст
 
26.10.12
15:59
(3) на счет ВыбратьЭлементыПоРеквизиту не скажу точно, а вот
НайтиПоНаименованию/Коду/Реквизиту ищет только на одном уровне вложенности - это железобетонно.

ВыбратьЭлементыПоРеквизиту - скорее всего так же.

ЗЫ: прямым запросом найдется всё :)
6 vladimir-boy
 
26.10.12
16:01
(5) Печалька с одной стороны, а с другой успокоение, что 1с не глючит и я не полный ...
7 varelchik
 
26.10.12
16:37
Что-то типа такого:

   Текст="
   |select
   |s.id [Товар $Справочник.ТМЦ],
   |1 Кво
   |from $Справочник.ТМЦ s (nolock)
   |WHERE
   |$s.РеквизитОтбора=:Значение
   |";
   Запрос=СоздатьОбъект("ODBCRecordSet");
   Запрос.УстановитьТекстовыйПараметр("Значение",ВыбЗначение);
   ИТЗ=СоздатьОбъект("ИндексированнаяТаблица");
   Запрос.ВыполнитьИнструкцию(Текст,ИТЗ);
   ИТЗ.Группировать("Товар:&Товар","Кво");
8 Ёпрст
 
26.10.12
16:43
(7) вот только кво там лишнее
9 Надсмотрщик
 
26.10.12
16:47
Простым запросом
10 Надсмотрщик
 
26.10.12
16:48
(0) А за
СпрНоменклатура.НайтиПоКоду("00001",0)=1

яйца режут
11 varelchik
 
26.10.12
16:50
(8) Ну эт я так для наглядности шоб скоко элементов попало.
12 vladimir-boy
 
26.10.12
17:11
(7)+ Спасибо. Понятно на счёт прямого запроса. Вот штатные возможности 1с несколько урезаны, что смущает.
(10) А что не так, проведите ликбез будьте добры? По-подробней пожалуйста.
13 Надсмотрщик
 
26.10.12
17:23
(12) А если я, с пьяну, код у дверей поменяю? Или мне по стулу все найти надо? Каждый раз будешь отчеты, с помощью форума, писать?

Так что не спорь! Яйца долой, чтобы прервать дурную наследственность.
14 Надсмотрщик
 
26.10.12
17:24
(12) Небось ПУБ курочишь?
15 varelchik
 
26.10.12
17:24
(12) не зачто.
Я родными средствами почти ужо и не пользуюсь.
1.хреновые возможности.
2.медленная работа.
Посему практически все стараюсь через прямые запросы делать.
16 vladimir-boy
 
26.10.12
17:30
(13) Не бери так близко к сердцу, хотя мысль для production справедливая. Это всего лишь ВЫМЫШЛЕННЫЙ ПРИМЕР для простоты понимания, чтоб не забивать СУЩНОСТЬ вопроса.
(15) Я сам на sqlite(dbf) сижу(и низко кланяюсь c благодарностью Орефкову.)
17 Ёпрст
 
26.10.12
17:33
(16) фокс быстрее, только тссс..
18 vladimir-boy
 
26.10.12
17:34
(17) В монопольном правда что-то не хочет фурычить
19 Ёпрст
 
26.10.12
17:35
(18) давно там всё работает
20 Ёпрст
 
26.10.12
17:36
21 vladimir-boy
 
26.10.12
17:37
(19, 20)Вот это так Сильно. Благодарствую за ценный материал.
Совсем я от прогресса отстал.
22 Ёпрст
 
26.10.12
17:42
для фокса, ценный материал вот тут:
http://www.1cpp.ru/forum/YaBB.pl?num=1184317705

ЗЫ: на некоторых запросах, в особенности с гроупбай, фокс, при попадании в индекс выигрывает в разы у скульлайта, просто у последнего есть свои приимущества - поставщик данных, укладка ТЗ, стороняяя база и т.д.

А у фокса свои - запрос к сторонней базе, модификация табличек и т.д.
23 vladimir-boy
 
26.10.12
17:50
(22) Спасибо, к sql-базам я только и использую ВК 1cpp, вещь-супер: очень мощная и нужная, а вот к dbf - придётся заново присмотреться.