новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума

Как получить список всех документов или справочников в 1С:Предприятие 8х.

  • Добавить свою публикацию
  • для этого требуется регистрация

Пишем шаблон для запроса.

 

ШаблонЗапроса = "
	|ВЫБРАТЬ
	|	 #Таблица.Ссылка КАК Ссылка
	|ИЗ
	|	 #Таблица
	|";

 

Затем перебираем все виды документов и составляем текст запроса.

 

ТекстЗапроса = "";
Для каждого ТекДанные из Метаданные.Документы Цикл
	ТекстЗапроса = ТекстЗапроса + ?(ПустаяСтрока(ТекстЗапроса), "", "
	|ОБЪЕДИНИТЬ ВСЕ
	|") 
	+ СтрЗаменить(ШаблонЗапроса, "#Таблица", "Документ." + ТекДанные.Имя);
КонецЦикла;

 

В результате такой работы у нас будет текст запроса в виде:

 

ВЫБРАТЬ 
	Документ.АвансовыйОтчет.Ссылка КАК Ссылка
ИЗ 
	Документ.АвансовыйОтчет

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

ВЫБРАТЬ 
	Документ.АктВыполненныхРабот.Ссылка КАК Ссылка
ИЗ 
	Документ.АктВыполненныхРабот 

 

Дописываем код выполнения запроса.

 

Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
	
Выборка = Запрос.Выполнить().Выбрать();
	
Пока Выборка.Следующий() Цикл
	Сообщить(Выборка.Ссылка);
КонецЦикла;

 

Весь код быдет выглядеть так:

 

 ШаблонЗапроса = "
	|ВЫБРАТЬ
	|	 #Таблица.Ссылка КАК Ссылка
	|ИЗ
	|	 #Таблица
	|";
	
ТекстЗапроса = "";
Для каждого ТекДанные из Метаданные.Документы Цикл
	ТекстЗапроса = ТекстЗапроса + ?(ПустаяСтрока(ТекстЗапроса), "", "
	|ОБЪЕДИНИТЬ ВСЕ
	|") 
	+ СтрЗаменить(ШаблонЗапроса, "#Таблица", "Документ." + ТекДанные.Имя);
КонецЦикла;	Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
	
Выборка = Запрос.Выполнить().Выбрать();
	
Пока Выборка.Следующий() Цикл
	Сообщить(Выборка.Ссылка);
КонецЦикла;

 

В данной выборке будут все документы базы.

 

По справочникам просто меняем тип метаданных в цикле.

 

Для каждого ТекДанные из Метаданные.Справочники Цикл 

 

Весь код будет выглядеть так:

 

ШаблонЗапроса = "
	|ВЫБРАТЬ
	|	   #Таблица.Ссылка КАК Ссылка
	|ИЗ
	|	   #Таблица
	|";
	
ТекстЗапроса = "";
Для каждого ТекДанные из Метаданные.Справочники Цикл
	ТекстЗапроса = ТекстЗапроса + ?(ПустаяСтрока(ТекстЗапроса), "", "
	|ОБЪЕДИНИТЬ ВСЕ
	|") 
	+ СтрЗаменить(ШаблонЗапроса, "#Таблица", "Документ." + ТекДанные.Имя);
КонецЦикла;	Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
	
Выборка = Запрос.Выполнить().Выбрать();
	
Пока Выборка.Следующий() Цикл
	Сообщить(Выборка.Ссылка);
КонецЦикла;
 

 

 
0
Читайте также
(V 7.7) Справка по работе с метаданными (с примерами)
Получение метаданных в программе 1С 7.7 происходит через объект "Метаданные"
Настройка 1с 7.7
1С 7.7 настройка это начальный этап работы с программой
Разработки
Выгрузка и загрузка данных. 1С7.7
Обработка для выгрузки и загрузки данных 1С7.7
[1С 8] SubSys: Отчет по инвентаризациям (оприходования и списания) по складам
Отчет для получения данных по итогам оприходования и списания 1С8
Анализ деятельности компании. Универсальный отчет для 1С (собери сам).
Отчет помогает анализировать деятельность компании, получить любую информацию из базы данных
≡ к списку статей