Created
November 12, 2021 12:05
-
-
Save ShadobaAI/b0fc3e25c0c5aca8d122cc611fb3a060 to your computer and use it in GitHub Desktop.
#1С #СКД
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ТабличныйДокумент = Новый ТабличныйДокумент; | |
| ТЗ = Новый ТаблицаЗначений; | |
| ВыгрузитьЖурналРегистрации(ТЗ); | |
| СхемаКомпоновкиДанных = Новый СхемаКомпоновкиДанных; | |
| ИсточникДанных = СхемаКомпоновкиДанных.ИсточникиДанных.Добавить(); | |
| ИсточникДанных.Имя = "ИсточникДанных1"; | |
| ИсточникДанных.ТипИсточникаДанных = "Local"; | |
| НаборДанныхОбъектСхемыКомпоновкиДанных = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхОбъектСхемыКомпоновкиДанных")); | |
| НаборДанныхОбъектСхемыКомпоновкиДанных.Имя = "НаборДанных1"; | |
| НаборДанныхОбъектСхемыКомпоновкиДанных.ИмяОбъекта = "ЖурналРегистрации"; | |
| НаборДанныхОбъектСхемыКомпоновкиДанных.ИсточникДанных = "ИсточникДанных1"; | |
| Группировка = СхемаКомпоновкиДанных.ВариантыНастроек[0].Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); | |
| Группировка.Использование = Истина; | |
| Группировка.Имя = "ЖурналРегистрации"; | |
| КолонкиГруппировок = Новый Массив; | |
| Для Каждого Элемент Из ТЗ.Колонки Цикл | |
| КолонкиГруппировок.Добавить(Элемент.Имя); | |
| ДобавитьПолеСКД(НаборДанныхОбъектСхемыКомпоновкиДанных, Группировка, Элемент.Имя, Строка(Поля.Получить(Элемент.Имя))); | |
| Если Элемент.Имя = "Уровень" Тогда | |
| НовоеПоле = СхемаКомпоновкиДанных.ВычисляемыеПоля.Добавить(); | |
| НовоеПоле.ПутьКДанным = "ИндексУровень"; | |
| НовоеПоле.Заголовок = "ИндексУровень"; | |
| НовоеПоле.ТипЗначения = Новый ОписаниеТипов("Булево"); | |
| НовоеПоле.Выражение = "ИндексУровеньЖР(Уровень)"; | |
| Цвета = Новый Массив; | |
| Цвета.Добавить(WebЦвета.Синий); | |
| Цвета.Добавить(WebЦвета.Черный); | |
| Цвета.Добавить(WebЦвета.Золотистый); | |
| Цвета.Добавить(WebЦвета.Красный); | |
| Для Индекс = 0 По Цвета.ВГраница() Цикл | |
| УсловноеОформление = Группировка.УсловноеОформление.Элементы.Добавить(); | |
| УсловноеОформление.Использование = Истина; | |
| ОтборОформления = УсловноеОформление.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); | |
| ОтборОформления.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ИндексУровень"); | |
| ОтборОформления.Использование = Истина; | |
| ОтборОформления.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; | |
| ОтборОформления.ПравоеЗначение = Индекс; | |
| УсловноеОформление.Оформление.УстановитьЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ЦветТекста"), Цвета[Индекс]); | |
| КонецЦикла; | |
| КонецЕсли; | |
| КонецЦикла; | |
| Если КолонкиГруппировок.Количество() Тогда | |
| ТЗ.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(0, 0, ДопустимыйЗнак.Неотрицательный))); | |
| ТЗ.ЗаполнитьЗначения(1, "Количество"); | |
| ТЗ.Свернуть(СтрСоединить(КолонкиГруппировок, ","), "Количество"); | |
| ТЗ.Сортировать("Уровень"); | |
| ДобавитьПолеСКД(НаборДанныхОбъектСхемыКомпоновкиДанных, Группировка, "Количество"); | |
| КонецЕсли; | |
| СхемаКомпоновкиДанных.ВариантыНастроек[0].Настройки.ПараметрыВывода.УстановитьЗначениеПараметра("Заголовок", "Журнал регистрации"); | |
| КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; | |
| КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); | |
| КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию); | |
| НастройкиКомпоновщика = КомпоновщикНастроек.ПолучитьНастройки(); | |
| КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; | |
| МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновщика, , , Тип("ГенераторМакетаКомпоновкиДанных")); | |
| ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; | |
| ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, Новый Структура("ЖурналРегистрации", ТЗ),, Истина); | |
| ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; | |
| ПроцессорВывода.УстановитьДокумент(ТабличныйДокумент); | |
| //ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); | |
| ПроцессорВывода.НачатьВывод(); | |
| ЭлементРезультата = ПроцессорКомпоновки.Следующий(); | |
| Пока Истина Цикл | |
| ЭлементРезультата = ПроцессорКомпоновки.Следующий(); | |
| Если Не ЭлементРезультата = Неопределено Тогда | |
| Прервать; | |
| КонецЕсли; | |
| ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата); | |
| КонецЦикла; | |
| ПроцессорВывода.ЗакончитьВывод(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Процедура ДобавитьПолеСКД(НаборДанныхОбъектСхемыКомпоновкиДанных, Группировка, Поле, Заголовок = "") | |
| ПолеНабораДанныхСхемыКомпоновкиДанных = НаборДанныхОбъектСхемыКомпоновкиДанных.Поля.Добавить(Тип( | |
| "ПолеНабораДанныхСхемыКомпоновкиДанных")); | |
| ПолеНабораДанныхСхемыКомпоновкиДанных.Поле = Поле; | |
| ПолеНабораДанныхСхемыКомпоновкиДанных.ПутьКДанным = ?(НРег(Поле) = "конец", "КонецЖР", Поле); | |
| ПолеНабораДанныхСхемыКомпоновкиДанных.Заголовок = ?(ПустаяСтрока(Заголовок), Поле, Заголовок); | |
| ВыбранноеПоле = Группировка.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); | |
| ВыбранноеПоле.Использование = Истина; | |
| ВыбранноеПоле.Поле = Новый ПолеКомпоновкиДанных(ПолеНабораДанныхСхемыКомпоновкиДанных.ПутьКДанным); | |
| КонецПроцедуры | |
| Функция ИндексУровеньЖР(Уровень) Экспорт | |
| Если Уровень = УровеньЖурналаРегистрации.Информация Тогда | |
| Возврат 0; | |
| ИначеЕсли Уровень = УровеньЖурналаРегистрации.Примечание Тогда | |
| Возврат 1; | |
| ИначеЕсли Уровень = УровеньЖурналаРегистрации.Предупреждение Тогда | |
| Возврат 2; | |
| ИначеЕсли Уровень = УровеньЖурналаРегистрации.Ошибка Тогда | |
| Возврат 3; | |
| Иначе | |
| Возврат -1; | |
| КонецЕсли; | |
| КонецФункции |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment