Найти тему
2 подписчика

#1С #1C


Текст запроса по полям таблицы значений

//
// Параметры:
// Поля - КоллекцияКолонокТаблицыЗначений - Коллекция колонок таблицы значений для формирования текста запроса
//
// Возвращаемое значение:
// Строка - Строка с текстом запроса или пустая строка.
//
Функция ТекстЗапросаПоПолямТЗ(Поля) Экспорт

Если ТипЗнч(Поля) <> Тип("КоллекцияКолонокТаблицыЗначений") Тогда
Возврат Строка("");
КонецЕсли;

ТекстЗапроса = "ВЫБРАТЬ" + Символы.ПС;

Для каждого Поле Из Поля Цикл
ТекстЗапроса = ТекстЗапроса + Символы.Таб + "ТЗ." + Поле.Имя + " КАК " + Поле.Имя + "," + Символы.ПС;
КонецЦикла;

ТекстЗапроса = Лев(ТекстЗапроса, СтрДлина(ТекстЗапроса) - 2) + Символы.ПС;

ТекстЗапроса = ТекстЗапроса + "ПОМЕСТИТЬ ТЗ" + Символы.ПС;
ТекстЗапроса = ТекстЗапроса + "ИЗ" + Символы.ПС;
ТекстЗапроса = ТекстЗапроса + Символы.Таб + "&ТЗ КАК ТЗ" + Символы.ПС;

ТекстЗапроса = ТекстЗапроса +
";
|
|////////////////////////////////////////////////////////////////////////////////" + Символы.ПС;

Возврат ТекстЗапроса;

КонецФункции // ТекстЗапросаПолямТЗ()