Данные таблицы базы данных

SeiOkami 521 5 12 15

Возвращает данные таблицы базы данных по отбору

// Возвращает данные таблицы базы данных по отбору
// Источник: https://github.com/SeiOkami/CollectionMethodsOneS/issues/71
// 
// Параметры:
//  Таблица  - Строка - Полное имя таблицы
//  Отбор	 - Массив из ЭлементОтбора
//           - Массив из Структура
//  Колонки	 - Строка, Массив из Строка - Возвращаемые колонки. Если не указывать, то возвращаются все
// 
// Возвращаемое значение:
//  РезультатЗапроса
//
// Пример:
//	
//	ИмяТаблицы = "Справочник.ЖЧТ_ТестовыйСправочник";
//	ИменаКолонок = "Ссылка,Код";
//	
//	Отборы = Новый Массив;
//	Отборы.Добавить(Новый Структура("Имя,Значение", "ПометкаУдаления", Ложь));
//	Отборы.Добавить(Новый Структура("Имя,ВидСравнения,Значение,", "Номер", ВидСравнения.Больше, 1));
//	
//	Результат = ТестируемыйМодуль.ДанныеТаблицыБазы(ИмяТаблицы, Отборы, ИменаКолонок);
//
//
Функция ДанныеТаблицыБазы(Знач Таблица, Знач Отбор = Неопределено, Знач Колонки = Неопределено) Экспорт
	
	Построитель  = Новый ПостроительЗапроса;
	Построитель.Текст = СтрШаблон("ВЫБРАТЬ %1 ИЗ %2", "*", Таблица);
	Построитель.ЗаполнитьНастройки();
	
	Если НЕ Колонки = Неопределено Тогда
		
		Если ТипЗнч(Колонки) = Тип("Строка") Тогда
			//@skip-check statement-type-change
			Колонки = СтрРазделить(Колонки, ",");
		КонецЕсли;
		
		Построитель.ВыбранныеПоля.Очистить();
		Для Каждого ИмяКолонки Из Колонки Цикл
			Построитель.ВыбранныеПоля.Добавить(ИмяКолонки);
		КонецЦикла;
		
	КонецЕсли;
	
	Если ЗначениеЗаполнено(Отбор) Тогда
		Для Каждого ЭлементОтбора Из Отбор Цикл
			НовыйЭлемент = Построитель.Отбор.Добавить(ЭлементОтбора.Имя);
			НовыйЭлемент.Использование = Истина;
			ЗаполнитьЗначенияСвойств(НовыйЭлемент, ЭлементОтбора);
		КонецЦикла;
	КонецЕсли;
	
	Построитель.Выполнить();
	
	Возврат Построитель.Результат;
		
КонецФункции
0

См. также

КоличествоЗаписейВТаблицеБазыДанных (БСП)

КоличествоЗаписейВоВременнойТаблицеБазыДанных (БСП)

Таблица значений по полному имени метаданных

ВыполнитьДействиеСценарияОбменаДаннымиВПервойИнформационнойБазе (БСП)

ВыполнитьДействиеСценарияОбменаДаннымиВоВторойИнформационнойБазе (БСП)

ВыполнитьДействиеСценарияОбменаДаннымиВПервойИнформационнойБазеИзНеразделенногоСеанса (БСП)

ВыполнитьДействиеСценарияОбменаДаннымиВоВторойИнформационнойБазеИзНеразделенногоСеанса (БСП)

ТаблицаПредопределенныхДанных (БСП)

КлючТаблицыДанных (БСП)

Модератору