Имя: Пароль:
1C
 
Как получить список всех справочников, документов, журналов и отчетов
0 Fighter
 
13.04.10
14:27
Нужно получить список всех справочников, документов, журналов документов и отчетов которые есть в конфигурации.
Я нагуглил хорошую обработку для справочников и кривоватую для документов. Если у кого есть готовое решение то киньте , пожалуйста, на мыло UDA63@ya.ru.
1 Ненавижу 1С
 
гуру
13.04.10
14:28
обход метаданных
2 Fighter
 
13.04.10
14:30
Ненавижу 1С, я тоже ненавижу 1С
3 Drago Age
 
13.04.10
14:32
погугли еще.
4 Fighter
 
13.04.10
14:33
Я как раз этим и занимаюсь.
Но может кто то сталкивался с подобной задачей
5 palpetrovich
 
13.04.10
14:34
Для Индекс=1 По Метаданные.Документ() Цикл
       Сообщить(""+Метаданные.Документ(Индекс).Идентификатор);  
   КонецЦикла;
   Для Индекс=1 По Метаданные.Справочник() Цикл
       Сообщить(""+Метаданные.Справочник(Индекс).Идентификатор);  
   КонецЦикла;
6 ДРАКОННИК-2
 
13.04.10
14:35
в конфигураторе одну кнопку нажать...
7 Fighter
 
13.04.10
14:36
(6) нужно получить в текстовом виде
8 Ёпрст
 
гуру
13.04.10
14:37
(7) там именно в тексте и есть.
9 ДРАКОННИК-2
 
13.04.10
14:37
а "описание структуры метаданных" в каком виде сохраняется?
10 palpetrovich
 
13.04.10
14:38
(9) это  2-е кнопки нажать :))
11 ДРАКОННИК-2
 
13.04.10
14:40
(10) тогда ушшш не кнопки )))
12 Fighter
 
13.04.10
14:46
Описание структуры метаданных выводит слишком много лишнего.
Мне нужен, конкретно, СПИСОК справочников, документов, журналов и отчетов
13 Ёпрст
 
гуру
13.04.10
14:47
(12) чего, лень пару строк кода написать в обход метаданных ?
14 ДРАКОННИК-2
 
13.04.10
14:47
какие проблемы отфильтровать лишнее? найти и заменить...
15 ДенисЧ
 
13.04.10
14:53
Код из (5) как раз и выдаёт СПИСОК...
16 Fighter
 
13.04.10
14:58
(15) да я проверил (5). Действительно все отлично работает.
ОГРОМНОЕ СПАСИБО palpetrovich.
Только надо решить как еще список всех журналов и отчетов получить.
17 Troodon
 
13.04.10
14:59
(16) поищи Meta_new.als
18 Troodon
 
13.04.10
15:00
19 ДенисЧ
 
13.04.10
15:01
Пример - вывод списка журналов
Описание:

Пример получения списка журналов

Текст примера
 Этот пример демонстрирует получение списка журналов.
Перенести куда надо, выделить и выполнить форматирование выделенной части

ПРИМЕР:  

for ж=1 to Метаданные.Журнал() do

Журн=Метаданные.Журнал(ж);
Идент=Журн.Идентификатор;
Message("Журнал: "+TrimAll(Метаданные.Журнал(ж).Идентификатор) );
// опрос каких надо характеристик
Message("   ---  "+TrimAll(Метаданные.Журнал(ж).ХХХХХХХХ) );
//ОПРЕДЕЛЕНИЕ ДОПОЛНИТЕЛЬНОГО  журнала
if Метаданные.Журнал(ж).Состав.Количество()>0  then
Message  ("Это дополнительный журнал");
Message  ("Список доков дополнительного журнала");
for А=1 to Метаданные.Журнал(ж).Состав.Количество() do
Message ("    Док -"+Метаданные.Журнал(ж).Состав.Получить(А));
endDo;
endIf;
EndDo;

А с отчётами - сложнее.
20 Fighter
 
13.04.10
15:01
Отчеты сделал по принципу (5). Работает отлично.
Осталось журналы сделать
21 ДенисЧ
 
13.04.10
15:02
Хотя нет, не сложнее :-0
22 Fighter
 
13.04.10
15:04
Код для Справочников, Документов и Отчетов

   Для Индекс=1 По Метаданные.Справочник() Цикл
          Сообщить(""+Метаданные.Справочник(Индекс).Идентификатор);  
   КонецЦикла;
   
   Для Индекс=1 По Метаданные.Документ() Цикл
          Сообщить(""+Метаданные.Документ(Индекс).Идентификатор);  
       КонецЦикла;
   
   Для Индекс=1 По Метаданные.Отчет() Цикл
         Сообщить(""+Метаданные.Отчет(Индекс).Идентификатор);  
       КонецЦикла;
23 truba
 
13.04.10
15:06
(22) Ваааааах!
24 Fighter
 
13.04.10
15:08
По том же принципу получил и список журналов

Для Индекс=1 По Метаданные.Журнал() Цикл
       Сообщить(""+Метаданные.Журнал(Индекс).Идентификатор);  
КонецЦикла;

Спасибо всем кто участвовал в обсуждении.