RDT1C/DataProcessors/ирКонсольПостроителейОтчетов/Ext/ObjectModule.bsl
2016-12-04 00:14:16 +03:00

116 lines
7.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Функция ОткрытьДляОтладки(ПостроительОтчета, Модально = Истина) Экспорт
Форма = ЭтотОбъект.ПолучитьФорму("Форма");
ЗаполнитьЗначенияСвойств(ПостроительОтчетов, ПостроительОтчета);
ПостроительОтчетов.УстановитьНастройки(ПостроительОтчета.ПолучитьНастройки());
ЛксСкопироватьУниверсальнуюКоллекцию(ПостроительОтчета.Параметры, ПостроительОтчетов.Параметры);
Если Модально Тогда
Возврат Форма.ОткрытьМодально();
Иначе
Форма.Открыть();
КонецЕсли;
КонецФункции
Функция ПолучитьПутьСтроки(Строка) Экспорт
ПутьСтроки = Неопределено;
Если Строка <> Неопределено Тогда
ТС = Строка;
Пока ТС <> Неопределено Цикл
Если ПутьСтроки = Неопределено Тогда
ПутьСтроки = ТС.Запрос;
Иначе
ПутьСтроки = ТС.Запрос + Символы.ПС + ПутьСтроки;
КонецЕсли;
ТС = ТС.Родитель;
КонецЦикла;
КонецЕсли;
Возврат ПутьСтроки;
КонецФункции
Функция НайтиСтрокуПоПути(Путь) Экспорт
ТекущаяСтрокаДерева = Неопределено;
Если Путь <> Неопределено Тогда
Для тс = 1 По СтрЧислоСтрок(Путь) Цикл
ТекущееИмяЗапроса = СтрПолучитьСтроку(Путь, тс);
Если ТекущаяСтрокаДерева = Неопределено Тогда
Строки = ДеревоЗапросов.Строки;
Иначе
Строки = ТекущаяСтрокаДерева.Строки;
КонецЕсли;
Найдено = Ложь;
Для Каждого сд Из Строки Цикл
Если сд.Запрос = ТекущееИмяЗапроса Тогда
// Нашли текущее имя
Найдено = Истина;
ТекущаяСтрокаДерева = сд;
Прервать;
КонецЕсли;
КонецЦикла;
Если Не Найдено Тогда
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Возврат ТекущаяСтрокаДерева;
КонецФункции
Процедура ДополнитьКолонкиТаблицыПараметров(ТаблицаПараметров) Экспорт
ДобавленныеКолонкиПараметров = Новый Структура;
ДобавленныеКолонкиПараметров.Вставить("ТипЗначения", Новый ОписаниеТипов("ОписаниеТипов"));
ДобавленныеКолонкиПараметров.Вставить("ЗначениеПоУмолчанию");
ДобавленныеКолонкиПараметров.Вставить("ПредставлениеПараметра", Новый ОписаниеТипов("Строка"));
ДобавленныеКолонкиПараметров.Вставить("Служебный", Новый ОписаниеТипов("Булево"));
Для Каждого ДобавленнаяКолонка Из ДобавленныеКолонкиПараметров Цикл
Если ТаблицаПараметров.Колонки.Найти(ДобавленнаяКолонка.Ключ) = Неопределено Тогда
ТаблицаПараметров.Колонки.Добавить(ДобавленнаяКолонка.Ключ, ДобавленнаяКолонка.Значение);
КонецЕсли;
КонецЦикла;
КонецПроцедуры // ДополнитьКолонкиТаблицыПараметров()
// Создадим структуру дерева запросов
ДеревоЗапросов.Колонки.Добавить("Запрос");
ДеревоЗапросов.Колонки.Добавить("ТекстЗапроса");
ДеревоЗапросов.Колонки.Добавить("ПараметрыЗапроса");
ДеревоЗапросов.Колонки.Добавить("АвтоЗаполнение");
ДеревоЗапросов.Колонки.Добавить("НастройкиПостроителя");
ДеревоЗапросов.Колонки.Добавить("ВыбТипДиаграммы");
ДеревоЗапросов.Колонки.Добавить("РазмещениеГруппировок");
ДеревоЗапросов.Колонки.Добавить("РазмещениеРеквизитов");
ДеревоЗапросов.Колонки.Добавить("ТипОформления");
ДеревоЗапросов.Колонки.Добавить("ПредставленияДляИмен");
ДеревоЗапросов.Колонки.Добавить("ИспользоватьМакет");
ДеревоЗапросов.Колонки.Добавить("ЛиМинимальнаяШирина");
ДеревоЗапросов.Колонки.Добавить("Макет");
ДеревоЗапросов.Колонки.Добавить("ВыводВДиаграмму");
ДеревоЗапросов.Колонки.Добавить("ВыводВСводнуюТаблицу");
ДеревоЗапросов.Колонки.Добавить("ВыводВТаблицу");
ДеревоЗапросов.Колонки.Добавить("ПоУмолчаниюВыводитьВ");
ДеревоЗапросов.Колонки.Добавить("ОтчетРасшифровки");
ДеревоЗапросов.Колонки.Добавить("РазмещениеИтогов");
ДеревоЗапросов.Колонки.Добавить("НастройкаДляЗагрузки");
ДеревоЗапросов.Колонки.Добавить("СохранятьНастройкиАвтоматически");
ДеревоЗапросов.Колонки.Добавить("ФиксированныйЗаголовок");
ДеревоЗапросов.Колонки.Добавить("МакетСОформлением");
ДеревоЗапросов.Колонки.Добавить("ФорматыДляИмен");
ДеревоЗапросов.Колонки.Добавить("ВыбТипСводДиаграммы");
ДеревоЗапросов.Колонки.Добавить("ВыводВСводДиаграмму");
ПостроительОтчетов.ВыводитьДетальныеЗаписи = Истина;
ПостроительОтчетов.АвтоДетальныеЗаписи = Истина;
РасширенныйРежим = Истина;
ОтображатьНастройки = Истина;