Имя: Пароль:
1C
1С v8
Метаданные в 8.1
0 DeniIT
 
28.02.12
14:26
Для каждого ОбъектМД Из Метаданные.Справочники Цикл
       
       СтрокаТаблицы = ТаблицаДанных.Добавить();
       СтрокаТаблицы.Метаданные = ОбъектМД.Имя;

   КонецЦикла;

Получил из конфигурации список со всеми видами справочников в таблицу, подскажите как мне теперь достать элементы всех справочников и группы?
1 FIXXXL
 
28.02.12
14:27
(0) куда достать?
2 asady
 
28.02.12
14:29
(0) Запросом
3 DeniIT
 
28.02.12
14:29
(1) Так же в таблицу в виде дерева надо занести. Например:

Справочники
 Контрагенты
   Заправки
     Лукойл
     Сибнефть

примерно так
4 DrShad
 
28.02.12
14:29
запросом
5 DeniIT
 
28.02.12
14:32
(2)(4) Запросом это понятно, но мне надо чтоб обработка работала на любой конфигурации, поэтому в запросе не должно быть привязки к конкретным справочникам. Так вот не могу понять как запрос написать и какой параметр запросу передавать
6 DrShad
 
28.02.12
14:34
(5) динамический запрос
7 DeniIT
 
28.02.12
14:37
(6) честно, не шарю в этом. Запросы делал всегда конструктором только)) Может подскажешь как примерно он пишется
8 DrShad
 
28.02.12
14:42
Выбрать
*
Из
 Справочник.Контрагенты

это же тупо текст, т.е. последнюю строку в текст дописывай программно
9 le_
 
28.02.12
14:48
ВЫБРАТЬ
   Спр.Ссылка
ИЗ
   Справочник.Банки КАК Спр

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   Спр.Ссылка
ИЗ
   Справочник.Контрагенты КАК Спр

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   Спр.Ссылка
ИЗ
   Справочник.Организации КАК Спр

и т.п.
Можно еще поле с представлением типа добавить и признак группы, чтобы дерево построить.
10 DeniIT
 
28.02.12
14:48
(8) ну я это понимаю, пишешь выбрать все из контрагентов, а мне же надо чтобы обработка работала в произвольной конфигурации, мало ли там нету справочника "контрагенты", так вот как мне выборку то сделать без этой конкретной привязки? причем виды справочников я вытаскиваю из метаданных, как видно тут (0)
11 le_
 
28.02.12
14:49
Для Каждого Спр Из Метаданные Справочники Цикл
   Запрос.Текст = Запрос.Текст + "Бла-бла-бла";
КонецЦикла;
12 DrShad
 
28.02.12
14:50
(10) ну и что не получается-то? имя справочника у тебя есть, перечень всех справочников тоже
ты не можешь написать

ИЗ
 Справочник." + ИмяСправочника
13 DeniIT
 
28.02.12
14:51
(11) а вот этот вариант уже интереснее
14 DeniIT
 
28.02.12
14:52
(12)попробую так
15 DrShad
 
28.02.12
14:53
(13) пизнец, тебе уже битый час именно про это и расказывают
16 DeniIT
 
28.02.12
14:55
(15) ты успокойся... подсказал, спасибо
17 DrShad
 
28.02.12
14:57
(16) ну как ту быть спокойным, когда чувак, имея все данные, не может посторить простейший цикл
18 Steelvan
 
28.02.12
15:05
Для Каждого ТекТипСправочников Из Метаданные.Справочники Цикл
   ВыборкаТекТипСправочника = Справочники[ТекТипСправочников.Имя].Выбрать();
   
  Перебор элементов выборки

КонецЦикла;
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший