Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

НаборЗапросовИзСхемыКомпоновки и НаборЗапросовИзМакетаКомпоновки #75

Open
SeiOkami opened this issue Feb 15, 2024 · 0 comments
Labels
СКД Система компоновки данных

Comments

@SeiOkami
Copy link
Owner

// Получает запросы, которые будут выполняться
//
// Параметры:
//  СхемаИлиАдрес				- СхемаКомпоновкиДанных, Строка	- СКД или Адрес на временное хранилище с СКД
//	НастройкиКомпоновкиДанных	- НастройкиКомпоновкиДанных		- Настройки, которые необходимо выполнять. Если не заполнено, будут выполняться НастройкиПоУмолчанию
//
// Возвращаемое значение:
//   Структура   - набор запросов.
//
Функция НаборЗапросовИзСхемыКомпоновки(СхемаИлиАдрес, НастройкиКомпоновкиДанных = Неопределено) Экспорт
	
	СКД			= ?(ЭтоАдресВременногоХранилища(СхемаИлиАдрес), ПолучитьИзВременногоХранилища(СхемаИлиАдрес), СхемаИлиАдрес);
	Настройки	= ?(НастройкиКомпоновкиДанных = Неопределено, СКД.НастройкиПоУмолчанию, НастройкиКомпоновкиДанных);
	
	КомпоновщикМакета	= Новый КомпоновщикМакетаКомпоновкиДанных;     
	МакетКомпоновки		= КомпоновщикМакета.Выполнить(СКД, Настройки);
	
	Возврат НаборЗапросовИзМакетаКомпоновки(МакетКомпоновки);
	
КонецФункции

// Получает запросы, которые будут выполняться
//
// Параметры:
//  МакетКомпоновки				- МакетКомпоновкиДанных	- Макет компоновки данных.
//
// Возвращаемое значение:
//   Структура   - набор запросов.
//
Функция НаборЗапросовИзМакетаКомпоновки(МакетКомпоновки) Экспорт
	
	НаборЗапросов		= Новый Структура();
	ПараметрыЗапроса	= Новый Структура();
	Для Каждого ЗначениеПараметра Из МакетКомпоновки.ЗначенияПараметров Цикл
		ПараметрыЗапроса.Вставить(ЗначениеПараметра.Имя, ЗначениеПараметра.Значение);
	КонецЦикла;
	Для Каждого НаборДанных Из МакетКомпоновки.НаборыДанных Цикл
		Если ТипЗнч(НаборДанных) = Тип("НаборДанныхЗапросМакетаКомпоновкиДанных") Тогда
			НаборЗапросов.Вставить(НаборДанных.Имя, ДополнительныеПараметрыПоУмолчанию("ОписаниеЗапроса"));
			НаборЗапросов[НаборДанных.Имя].ТекстЗапроса	= НаборДанных.Запрос;
			НаборЗапросов[НаборДанных.Имя].Параметры	= КопияЗначения(ПараметрыЗапроса);
		КонецЕсли;
	КонецЦикла;
	
	Возврат НаборЗапросов;
	
КонецФункции
@SeiOkami SeiOkami added the СКД Система компоновки данных label Feb 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
СКД Система компоновки данных
Projects
None yet
Development

No branches or pull requests

1 participant