mirror of
https://github.com/tormozit/RDT1C.git
synced 2025-12-17 05:04:11 +00:00
410 lines
28 KiB
Plaintext
410 lines
28 KiB
Plaintext
#Если Клиент Тогда
|
||
Перем мОбъектЗапроса Экспорт; // запрос
|
||
Перем мКомандаADO Экспорт; // запрос
|
||
Перем мСоединениеADO Экспорт; // запрос
|
||
Перем мWMIService Экспорт; // запрос
|
||
Перем мСтрокаЗапроса;
|
||
Перем мРежимРедактора Экспорт;
|
||
Перем мСсылка Экспорт;
|
||
Перем мРедактируемыйНаборДанных Экспорт;
|
||
Перем мРежимОтладки Экспорт;
|
||
|
||
Функция ПолучитьНовуюТаблицуПараметров()
|
||
|
||
ТаблицаПараметров = Новый ТаблицаЗначений;
|
||
|
||
// Порядок должен соответствовать установленному в табличном поле!
|
||
ТаблицаПараметров.Колонки.Добавить("ИмяПараметра");
|
||
ТаблицаПараметров.Колонки.Добавить("ЭтоВыражение");
|
||
ТаблицаПараметров.Колонки.Добавить("ТипЗначения");
|
||
ТаблицаПараметров.Колонки.Добавить("НеИспользоватьОграничениеТипа");
|
||
ТаблицаПараметров.Колонки.Добавить("Значение"); // Без колонки ТП
|
||
Возврат ТаблицаПараметров;
|
||
|
||
КонецФункции // ПолучитьНовуюТаблицуПараметров()
|
||
|
||
Процедура ИнициализацияСлужебногоРежима()
|
||
|
||
ИспользоватьАвтосохранение = Ложь;
|
||
мСтрокаЗапроса = ДеревоЗапросов.Строки.Добавить();
|
||
мСтрокаЗапроса.ПараметрыЗапроса = ПолучитьНовуюТаблицуПараметров();
|
||
|
||
КонецПроцедуры // ИнициализацияСлужебногоРежима
|
||
|
||
Процедура ДобавитьПараметрыИзЗапроса(пЗапросОтладки, пТаблицаПараметров, ОписаниеТиповЭлементаУправленияПараметра)
|
||
|
||
МаркерНеверныхПараметров = "Неверные параметры";
|
||
ЗапросОтладки = Новый Запрос(пЗапросОтладки.Текст);
|
||
ЗапросОтладки.МенеджерВременныхТаблиц = пЗапросОтладки.МенеджерВременныхТаблиц;
|
||
Попытка
|
||
ПараметрыЗапроса = ЗапросОтладки.НайтиПараметры();
|
||
Исключение
|
||
Сообщить(ОписаниеОшибки());
|
||
ПараметрыЗапроса = Новый Массив;
|
||
КонецПопытки;
|
||
// Получим значения использованных в тексте параметров
|
||
Для каждого ПараметрЗапроса Из ПараметрыЗапроса Цикл
|
||
Если пТаблицаПараметров.Найти(ПараметрЗапроса.Имя, "ИмяПараметра") <> Неопределено Тогда
|
||
Продолжить;
|
||
КонецЕсли;
|
||
ИмяПараметра = ПараметрЗапроса.Имя;
|
||
СтрокаПараметров = пТаблицаПараметров.Добавить();
|
||
СтрокаПараметров.ИмяПараметра = ИмяПараметра;
|
||
СтрокаПараметров.ЭтоВыражение = Ложь;
|
||
СтрокаПараметров.ТипЗначения = ПараметрЗапроса.ТипЗначения;
|
||
Если ирКэш.Получить().ВерсияПлатформы >= 801011 Тогда
|
||
ЗначениеПараметраЗапроса = 0;
|
||
Если пЗапросОтладки.Параметры.Свойство(ИмяПараметра, ЗначениеПараметраЗапроса) Тогда
|
||
ТипЗначенияПараметра = ТипЗнч(ЗначениеПараметраЗапроса);
|
||
Если ТипЗначенияПараметра = Тип("Массив") Тогда
|
||
СписокЗначений = Новый СписокЗначений;
|
||
ПреобразованиеУспешно = Истина;
|
||
Для Каждого ЭлементМассива Из ЗначениеПараметраЗапроса Цикл
|
||
Если ОписаниеТиповЭлементаУправленияПараметра.СодержитТип(ТипЗнч(ЭлементМассива)) Тогда
|
||
СписокЗначений.Добавить(ЭлементМассива);
|
||
Иначе
|
||
ПреобразованиеУспешно = Ложь;
|
||
Прервать;
|
||
КонецЕсли;
|
||
КонецЦикла;
|
||
Если ПреобразованиеУспешно Тогда
|
||
ЗначениеПараметраЗапроса = СписокЗначений;
|
||
ТипЗначенияПараметра = ТипЗнч(ЗначениеПараметраЗапроса);
|
||
Сообщить("Значение параметра """ + ИмяПараметра + """ было преобразовано из массива в список значений", СтатусСообщения.Внимание);
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
СтрокаПараметров.Значение = ЗначениеПараметраЗапроса;
|
||
Если ТипЗначенияПараметра = Тип("СписокЗначений") Тогда
|
||
СтрокаПараметров.ЭтоВыражение = 2;
|
||
ИначеЕсли ОписаниеТиповЭлементаУправленияПараметра.СодержитТип(ТипЗначенияПараметра) Тогда
|
||
Иначе
|
||
СтрокаПараметров.НеИспользоватьОграничениеТипа = Истина;
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
Иначе
|
||
Успех = Ложь;
|
||
Попытка
|
||
пЗапросОтладки.Текст = "Выбрать &" + ИмяПараметра;
|
||
РЗ = пЗапросОтладки.Выполнить().Выгрузить();
|
||
СтрокаПараметров.Значение = РЗ[0][ИмяПараметра];
|
||
Успех = Истина;
|
||
Исключение
|
||
ИнформацияОбОшибке = ИнформацияОбОшибке();
|
||
//Возможно это список параметров ссылок
|
||
М = Новый СписокЗначений;
|
||
Для каждого ТипаПр Из ПараметрЗапроса.ТипЗначения.Типы() Цикл
|
||
МетаОбъект = Метаданные.НайтиПоТипу(ТипаПр);
|
||
Если МетаОбъект <> Неопределено Тогда
|
||
пЗапросОтладки.Текст = "Выбрать Ссылка Из " + МетаОбъект.ПолноеИмя() + " ГДЕ Ссылка В (&" + ИмяПараметра + ")"
|
||
+ " ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ЗНАЧЕНИЕ(" + МетаОбъект.ПолноеИмя() + ".ПустаяСсылка)"
|
||
+ " ГДЕ ЗНАЧЕНИЕ(" + МетаОбъект.ПолноеИмя() + ".ПустаяСсылка) В (&" + ИмяПараметра + ")";
|
||
Попытка
|
||
РЗ = пЗапросОтладки.Выполнить().Выгрузить();
|
||
Для каждого Пр Из РЗ Цикл
|
||
М.Добавить(Пр.Ссылка);
|
||
КонецЦикла;
|
||
Исключение
|
||
КонецПопытки;
|
||
КонецЕсли;
|
||
КонецЦикла;
|
||
Если М.Количество() > 0 Тогда
|
||
СтрокаПараметров.Значение = М;
|
||
СтрокаПараметров.ЭтоВыражение = 2;
|
||
Успех = Истина;
|
||
КонецЕсли;
|
||
КонецПопытки;
|
||
Если Не Успех Тогда
|
||
Если Лев(ЛксПолучитьПоследнийФрагмент(ИнформацияОбОшибке.Причина.Описание, "}: "), СтрДлина(МаркерНеверныхПараметров)) = МаркерНеверныхПараметров Тогда
|
||
Сообщить("Значение параметра """ + ИмяПараметра + """ невозможно извлечь", СтатусСообщения.Внимание);
|
||
СтрокаПараметров.Значение = "<Значение параметра """ + СтрокаПараметров.ИмяПараметра + """ неизвлекаемо>";
|
||
СтрокаПараметров.НеИспользоватьОграничениеТипа = Истина;
|
||
Иначе
|
||
Сообщить("Значение параметра """ + ИмяПараметра + """ не задано", СтатусСообщения.Внимание);
|
||
СтрокаПараметров.Значение = "<Значение параметра """ + СтрокаПараметров.ИмяПараметра + """ не задано>";
|
||
КонецЕсли;
|
||
//СтрокаПараметров.ИмяПараметра = "#" + СтрокаПараметров.ИмяПараметра;
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
КонецЦикла;
|
||
Если ирКэш.Получить().ВерсияПлатформы >= 801011 Тогда
|
||
// Получим значения установленных параметров
|
||
ДополнитьТаблицуПараметровЗапросаПоСтруктуре(пЗапросОтладки.Параметры, пТаблицаПараметров);
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры // ДобавитьПараметрыИзЗапроса()
|
||
|
||
Функция ДополнитьТаблицуПараметровЗапросаПоСтруктуре(СтруктураПараметров, пТаблицаПараметров)
|
||
|
||
Для каждого КлючИЗначение Из СтруктураПараметров Цикл
|
||
Если пТаблицаПараметров.Найти(КлючИЗначение.Ключ, "ИмяПараметра") <> Неопределено Тогда
|
||
Продолжить;
|
||
КонецЕсли;
|
||
ИмяПараметра = КлючИЗначение.Ключ;
|
||
СтрокаПараметров = пТаблицаПараметров.Добавить();
|
||
СтрокаПараметров.ИмяПараметра = ИмяПараметра;
|
||
СтрокаПараметров.ЭтоВыражение = Ложь;
|
||
СтрокаПараметров.Значение = КлючИЗначение.Значение;
|
||
Если ТипЗнч(КлючИЗначение.Значение) = Тип("СписокЗначений") Тогда
|
||
СтрокаПараметров.ЭтоВыражение = 2;
|
||
КонецЕсли;
|
||
КонецЦикла;
|
||
|
||
Возврат Неопределено;
|
||
|
||
КонецФункции
|
||
|
||
Функция ОткрытьПоОбъектуМетаданных(ПолноеИмяМД) Экспорт
|
||
|
||
ИнициализацияСлужебногоРежима();
|
||
ТекстЗапроса = "ВЫБРАТЬ
|
||
| *
|
||
|ИЗ
|
||
| " + ПолноеИмяМД + " КАК Т";
|
||
мСтрокаЗапроса.ТекстЗапроса = ТекстЗапроса;
|
||
мСтрокаЗапроса.Запрос = ПолноеИмяМД;
|
||
Форма = ЭтотОбъект.ПолучитьФорму();
|
||
Форма.Открыть();
|
||
Возврат Форма;
|
||
|
||
КонецФункции
|
||
|
||
// ТекстЗапроса - Строка - используется только в случае, если сам объект не содержит свойста с текстом (например WMI)
|
||
Функция ОткрытьДляОтладки(Запрос, ТипЗапроса = "Обычный", ИмяЗапроса = "Запрос для отладки", Модально = Истина, ТекстЗапроса = "") Экспорт
|
||
|
||
ИнициализацияСлужебногоРежима();
|
||
Если ТипЗнч(Запрос) = Тип("COMОбъект") Тогда
|
||
ТипЗапроса = "WQL";
|
||
мWMIService = Запрос;
|
||
Попытка
|
||
Пустышка = Запрос.CommandText;
|
||
ЭтоКомандаADO = Истина;
|
||
ТипЗапроса = "ADO";
|
||
мКомандаADO = Запрос;
|
||
Исключение
|
||
ЭтоКомандаADO = Ложь;
|
||
Попытка
|
||
Пустышка = Запрос.ConnectionString;
|
||
ЭтоСоединениеADO = Истина;
|
||
ТипЗапроса = "ADO";
|
||
мСоединениеADO = Запрос;
|
||
Исключение
|
||
ЭтоСоединениеADO = Ложь;
|
||
КонецПопытки;
|
||
КонецПопытки;
|
||
Иначе
|
||
мОбъектЗапроса = Запрос;
|
||
ТекстЗапроса = мОбъектЗапроса.Текст;
|
||
КонецЕсли;
|
||
мСтрокаЗапроса.ТекстЗапроса = ТекстЗапроса;
|
||
мСтрокаЗапроса.Запрос = ИмяЗапроса;
|
||
мСтрокаЗапроса.ТипЗапроса = ТипЗапроса;
|
||
мРежимОтладки = Истина;
|
||
Форма = ЭтотОбъект.ПолучитьФорму();
|
||
ТаблицаПараметровЗапроса = Форма.ЭлементыФормы.Параметры.Значение;
|
||
Если ТипЗнч(Запрос) = Тип("COMОбъект") Тогда
|
||
Если ЭтоКомандаADO Тогда
|
||
СтруктураПараметров = Новый Структура();
|
||
Для Каждого Parameter Из Запрос.Parameters Цикл
|
||
КлючПараметра = Parameter.Name;
|
||
Если Не ЛксЛиИмяПеременной(КлючПараметра) Тогда
|
||
КлючПараметра = "_" + КлючПараметра;
|
||
КонецЕсли;
|
||
Если Не ЛксЛиИмяПеременной(КлючПараметра) Тогда
|
||
КлючПараметра = КлючПараметра + XMLСтрока(СтруктураПараметров.Количество());
|
||
КонецЕсли;
|
||
Если СтруктураПараметров.Свойство(КлючПараметра) Тогда
|
||
ВызватьИсключение "Не удалось назначить параметру уникальное имя";
|
||
КонецЕсли;
|
||
СтруктураПараметров.Вставить(КлючПараметра, Parameter.Value);
|
||
КонецЦикла;
|
||
ДополнитьТаблицуПараметровЗапросаПоСтруктуре(СтруктураПараметров, ТаблицаПараметровЗапроса);
|
||
КонецЕсли;
|
||
Иначе
|
||
ДобавитьПараметрыИзЗапроса(Запрос, ТаблицаПараметровЗапроса, Форма.ЭлементыФормы.Параметры.Колонки.Значение.ЭлементУправления.ТипЗначения);
|
||
КонецЕсли;
|
||
Если Модально Тогда
|
||
Возврат Форма.ОткрытьМодально();
|
||
Иначе
|
||
Форма.Открыть();
|
||
КонецЕсли;
|
||
|
||
КонецФункции
|
||
|
||
Функция ОткрытьПоПостроителю(Построитель, ИмяЗапроса = "Исполняемый запрос построителя") Экспорт
|
||
|
||
ИнициализацияСлужебногоРежима();
|
||
мСтрокаЗапроса.Запрос = ИмяЗапроса;
|
||
ЗапросОтладки = Построитель.ПолучитьЗапрос();
|
||
мСтрокаЗапроса.ТекстЗапроса = ЗапросОтладки.Текст;
|
||
мСтрокаЗапроса.ТипЗапроса = "Построитель";
|
||
Если ирКэш.Получить().ВерсияПлатформы < 801011 Тогда
|
||
Для Каждого ЭлементПараметра Из Построитель.Параметры Цикл
|
||
СтрокаПараметров = мСтрокаЗапроса.ПараметрыЗапроса.Добавить();
|
||
СтрокаПараметров.ИмяПараметра = ЭлементПараметра.Ключ;
|
||
СтрокаПараметров.Значение = ЭлементПараметра.Значение;
|
||
Если ТипЗнч(СтрокаПараметров.Значение) = Тип("СписокЗначений") Тогда
|
||
СтрокаПараметров.ЭтоВыражение = 2;
|
||
СтрокаПараметров.ТипЗначения = СтрокаПараметров.Значение.ТипЗначения;
|
||
Иначе
|
||
СтрокаПараметров.ЭтоВыражение = Ложь;
|
||
СтрокаПараметров.ТипЗначения = Новый ОписаниеТипов(ЛксБыстрыйМассив(ТипЗнч(СтрокаПараметров.Значение)));
|
||
КонецЕсли;
|
||
КонецЦикла;
|
||
КонецЕсли;
|
||
Форма = ЭтотОбъект.ПолучитьФорму();
|
||
ДобавитьПараметрыИзЗапроса(ЗапросОтладки, Форма.ЭлементыФормы.Параметры.Значение,
|
||
Форма.ЭлементыФормы.Параметры.Колонки.Значение.ЭлементУправления.ТипЗначения);
|
||
мРежимОтладки = Истина;
|
||
Форма.Открыть();
|
||
|
||
КонецФункции
|
||
|
||
Процедура ДобавитьНаборыДанных(Родитель, Шаблон, НаборыДанных)
|
||
|
||
Для каждого НаборДанных Из НаборыДанных Цикл
|
||
лСтрокаЗапроса = Неопределено;
|
||
Если ТипЗнч(НаборДанных) = Тип("НаборДанныхЗапросМакетаКомпоновкиДанных") Тогда
|
||
лСтрокаЗапроса = Родитель.Строки.Добавить();
|
||
лСтрокаЗапроса.Запрос = НаборДанных.Имя;
|
||
лСтрокаЗапроса.ТекстЗапроса = НаборДанных.Запрос;
|
||
лСтрокаЗапроса.ПараметрыЗапроса = Шаблон.ПараметрыЗапроса.Скопировать();
|
||
лСтрокаЗапроса.ТипЗапроса = "Компоновка";
|
||
ИначеЕсли ТипЗнч(НаборДанных) = Тип("НаборДанныхОбъединениеМакетаКомпоновкиДанных") Тогда
|
||
лСтрокаЗапроса = Родитель.Строки.Добавить();
|
||
лСтрокаЗапроса.Запрос = "Объединение - " + НаборДанных.Имя;
|
||
лСтрокаЗапроса.ТипЗапроса = "Папка";
|
||
ДобавитьНаборыДанных(лСтрокаЗапроса, Шаблон, НаборДанных.Элементы);
|
||
КонецЕсли;
|
||
Если НаборДанных.ВложенныеНаборыДанных.Количество() > 0 Тогда
|
||
Если лСтрокаЗапроса = Неопределено Тогда
|
||
лСтрокаЗапроса = Родитель.Строки.Добавить();
|
||
лСтрокаЗапроса.Запрос = НаборДанных.Имя;
|
||
лСтрокаЗапроса.ТипЗапроса = "Папка";
|
||
КонецЕсли;
|
||
ДобавитьНаборыДанных(лСтрокаЗапроса, Шаблон, НаборДанных.ВложенныеНаборыДанных);
|
||
КонецЕсли;
|
||
КонецЦикла;
|
||
|
||
КонецПроцедуры // ДобавитьНаборыДанных()
|
||
|
||
Функция ОткрытьПоМакетуКомпоновки(МакетКомпоновки, Модально = Истина, СхемаКомпоновки = Неопределено) Экспорт
|
||
|
||
ИнициализацияСлужебногоРежима();
|
||
мСтрокаЗапроса.ТипЗапроса = "Компоновка";
|
||
Для Каждого Значение Из МакетКомпоновки.ЗначенияПараметров Цикл
|
||
СтрокаПараметров = мСтрокаЗапроса.ПараметрыЗапроса.Добавить();
|
||
СтрокаПараметров.ИмяПараметра = Значение.Имя;
|
||
СтрокаПараметров.Значение = Значение.Значение;
|
||
//ПараметрСхемы = Неопределено;
|
||
//Если СхемаКомпоновки <> Неопределено Тогда
|
||
// ПараметрСхемы = СхемаКомпоновки.Параметры.Найти(Значение.Имя);
|
||
//КонецЕсли;
|
||
Если ТипЗнч(СтрокаПараметров.Значение) = Тип("СписокЗначений") Тогда
|
||
СтрокаПараметров.ЭтоВыражение = 2;
|
||
СтрокаПараметров.ТипЗначения = СтрокаПараметров.Значение.ТипЗначения;
|
||
//ИначеЕсли Истина
|
||
// И ПараметрСхемы <> Неопределено
|
||
// И ПараметрСхемы.Выражение <> ""
|
||
//Тогда
|
||
// СтрокаПараметров.ЭтоВыражение = Истина;
|
||
Иначе
|
||
СтрокаПараметров.ЭтоВыражение = Ложь;
|
||
СтрокаПараметров.ТипЗначения = Новый ОписаниеТипов(ЛксБыстрыйМассив(ТипЗнч(СтрокаПараметров.Значение)));
|
||
КонецЕсли;
|
||
КонецЦикла;
|
||
ДобавитьНаборыДанных(ДеревоЗапросов, мСтрокаЗапроса, МакетКомпоновки.НаборыДанных);
|
||
Для Каждого ЭлементТела Из МакетКомпоновки.Тело Цикл
|
||
Если ТипЗнч(ЭлементТела) = Тип("ВложенныйОбъектМакетаКомпоновкиДанных") Тогда
|
||
Если ЭлементТела.КомпоновкаДанных.НаборыДанных.Количество() > 0 Тогда
|
||
лСтрокаЗапроса = ДеревоЗапросов.Строки.Добавить();
|
||
лСтрокаЗапроса.Запрос = ЭлементТела.Имя;
|
||
лСтрокаЗапроса.ТипЗапроса = "Папка";
|
||
ДобавитьНаборыДанных(лСтрокаЗапроса, мСтрокаЗапроса, ЭлементТела.КомпоновкаДанных.НаборыДанных);
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
КонецЦикла;
|
||
ДеревоЗапросов.Строки.Удалить(мСтрокаЗапроса);
|
||
мРежимОтладки = Истина;
|
||
Форма = ЭтотОбъект.ПолучитьФорму();
|
||
Если Модально Тогда
|
||
Возврат Форма.ОткрытьМодально();
|
||
Иначе
|
||
Форма.Открыть();
|
||
КонецЕсли;
|
||
|
||
КонецФункции
|
||
|
||
Функция РедактироватьНаборДанныхСхемыКомпоновкиДанных(ВладелецФормы, НаборДанных, Схема) Экспорт
|
||
|
||
мРежимРедактора = Истина;
|
||
мРедактируемыйНаборДанных = НаборДанных;
|
||
ИнициализацияСлужебногоРежима();
|
||
мСтрокаЗапроса.Запрос = НаборДанных.Имя;
|
||
ПараметыСхемы = Схема.Параметры;
|
||
Для Каждого ПараметрСхемы Из ПараметыСхемы Цикл
|
||
СтрокаПараметров = мСтрокаЗапроса.ПараметрыЗапроса.Добавить();
|
||
СтрокаПараметров.ИмяПараметра = ПараметрСхемы.Имя;
|
||
СтрокаПараметров.Значение = ПараметрСхемы.Значение;
|
||
СтрокаПараметров.ТипЗначения = ПараметрСхемы.ТипЗначения;
|
||
Если ПараметрСхемы.Выражение <> "" Тогда
|
||
СтрокаПараметров.ЭтоВыражение = Истина;
|
||
СтрокаПараметров.Значение = ПараметрСхемы.Выражение;
|
||
ИначеЕсли ТипЗнч(ПараметрСхемы.Значение) = Тип("СписокЗначений") Тогда
|
||
СтрокаПараметров.ЭтоВыражение = 2;
|
||
Иначе
|
||
СтрокаПараметров.ЭтоВыражение = Ложь;
|
||
КонецЕсли;
|
||
КонецЦикла;
|
||
мСтрокаЗапроса.ТекстЗапроса = НаборДанных.Запрос;
|
||
мСтрокаЗапроса.ТипЗапроса = "Компоновка";
|
||
Форма = ЭтотОбъект.ПолучитьФорму(, ВладелецФормы);
|
||
Форма.Открыть();
|
||
|
||
КонецФункции // РедактироватьНаборДанныхСхемыКомпоновкиДанных()
|
||
|
||
Функция РедактироватьСтруктуруЗапроса(ВладелецФормы, СтруктураЗапроса) Экспорт
|
||
|
||
мРежимРедактора = Истина;
|
||
ИнициализацияСлужебногоРежима();
|
||
Если СтруктураЗапроса.Свойство("Имя") Тогда
|
||
мСтрокаЗапроса.Запрос = СтруктураЗапроса.Имя;
|
||
КонецЕсли;
|
||
Если СтруктураЗапроса.Свойство("Ссылка") Тогда
|
||
мСсылка = СтруктураЗапроса.Ссылка;
|
||
КонецЕсли;
|
||
Если СтруктураЗапроса.Свойство("Параметры") Тогда
|
||
мСтрокаЗапроса.ПараметрыЗапроса = СтруктураЗапроса.Параметры.Скопировать();
|
||
КонецЕсли;
|
||
мСтрокаЗапроса.ТекстЗапроса = СтруктураЗапроса.ТекстЗапроса;
|
||
Если СтруктураЗапроса.Свойство("ТипЗапроса") Тогда
|
||
мСтрокаЗапроса.ТипЗапроса = СтруктураЗапроса.ТипЗапроса;
|
||
Иначе
|
||
мСтрокаЗапроса.ТипЗапроса = "Построитель";
|
||
КонецЕсли;
|
||
Форма = ЭтотОбъект.ПолучитьФорму(, ВладелецФормы);
|
||
Форма.Открыть();
|
||
|
||
КонецФункции // РедактироватьСтруктуруЗапроса()
|
||
|
||
мОбъектЗапроса = Новый Запрос;
|
||
мРежимРедактора = Ложь;
|
||
мРежимОтладки = Ложь;
|
||
|
||
// Создадим структуру дерева запросов
|
||
ДеревоЗапросов.Колонки.Добавить("Запрос");
|
||
ДеревоЗапросов.Колонки.Добавить("ТекстЗапроса");
|
||
ДеревоЗапросов.Колонки.Добавить("ПараметрыЗапроса");
|
||
ДеревоЗапросов.Колонки.Добавить("СпособВыгрузки"); //Оставил для совместимости с оригинальной консолью запросов
|
||
ДеревоЗапросов.Колонки.Добавить("НовыйМенеджерВремменныхТаблиц", Новый ОписаниеТипов("Булево"));
|
||
ДеревоЗапросов.Колонки.Добавить("КодОбработкиСтрокиРезультата");
|
||
ДеревоЗапросов.Колонки.Добавить("КодПередВыполнениемЗапроса");
|
||
ДеревоЗапросов.Колонки.Добавить("КодОбработкиРезультата");
|
||
ДеревоЗапросов.Колонки.Добавить("Настройка");
|
||
ДеревоЗапросов.Колонки.Добавить("ВыбратьВсеПоля", Новый ОписаниеТипов("Булево"));
|
||
ДеревоЗапросов.Колонки.Добавить("ТипЗапроса", Новый ОписаниеТипов("Строка"));
|
||
ДеревоЗапросов.Колонки.Добавить("Длительность", Новый ОписаниеТипов("Число, Строка"));
|
||
ДеревоЗапросов.Колонки.Добавить("РазмерРезультата", Новый ОписаниеТипов("Число, Строка"));
|
||
ДеревоЗапросов.Колонки.Добавить("ПараметрыWMI");
|
||
ДеревоЗапросов.Колонки.Добавить("ПараметрыADO");
|
||
#КонецЕсли
|