Skip to content

Создание макета данных на основании результатов запросов (например, через ирПортативные)

Artur Ayukhanov edited this page Feb 1, 2016 · 1 revision

Программная генерация макета данных на базе консоли запросов из "Инструменты Разработчика" или собственных запросов из своего кода

Пример вызова:

Путь_xUnitFor1C = "C:\Projects\GitHub\xUnitFor1C\";
ПутьГенератораМакета = Путь_xUnitFor1C + "ГенерацияМакетаДанных_На_БазеРеальныхДанных.epf";

СоздательМакета = ВнешниеОбработки.Создать(ПутьГенератораМакета );
Макет = СоздательМакета.СоздатьМакетДанныхНаОснованииЗапроса(РезультатЗапроса);
Макет.Показать();

Открываем консоль запросов ИР (или ирПортативные), создаем запрос, Выполняем его Далее закладка "Обработка результата" (не путать со "Обработка строки результата"), вставляем текст выше и нажимаем кнопку "Выполнить" над кодом (не путать с верхней кнопкой "Выполнить")

Примеры тестов можно посмотреть в исходниках

Названия тестов

  • ТестДолжен_ПолучитьМакетДляСозданияПростогоСправочникаНаБазеЗапроса
  • ТестДолжен_ПолучитьМакетДляСоздания2ЗаписейРегистраСведений

Пример запросов для создания макета

На базе ссылочных данных (поле __Метаданные должно быть пустым):

	Запрос.Текст = 
		"ВЫБРАТЬ
		|	"""" КАК __Метаданные,
		|	""ПростойСправочник"" КАК __Префикс,
		|	ПростойСправочник.Ссылка,
		|	ПростойСправочник.Код,
		|	ПростойСправочник.Наименование,
		|	ПростойСправочник.РеквизитБулево,
		|	ПростойСправочник.РеквизитПеречисление
		|ИЗ
		|	Справочник.ПростойСправочник КАК ПростойСправочник
		|Где РеквизитБулево И ПростойСправочник.Наименование = ""Тестовое наименование"" ";

На базе регистров:

	Запрос.Текст = 
		"ВЫБРАТЬ
		|	""РегистрыСведений.РегистрСведений1.СоздатьНаборЗаписей().Метаданные()"" КАК __Метаданные,
		|	""ЗаписьРегистра"" КАК __Префикс,
		|	РегистрСведений1.ПростойСправочник,
		|	РегистрСведений1.ПростойСправочник2 КАК ПростойСправочник2,
		|	РегистрСведений1.РесурсЧисло,
		|	РегистрСведений1.РесурсБулево
		|ИЗ
		|	РегистрСведений.РегистрСведений1 КАК РегистрСведений1
		|
		|УПОРЯДОЧИТЬ ПО
		|	ПростойСправочник2";
Clone this wiki locally