Определение наличия детальных записей СКД
По теме из базы знаний
Найденные решения
(1) Примерно вот так:
Процедура ВыполнитьПроверку()
НастройкиКД = Новый НастройкиКомпоновкиДанных;
Результат = ЕстьДетальныеЗаписи(НастройкиКД.Структура);
КонецПроцедуры
Функция ЕстьДетальныеЗаписи(СтруктураНастроекКД)
Для каждого ЭлементСтруктуры Из СтруктураНастроекКД Цикл
Если ТипЗнч(ЭлементСтруктуры) = Тип("ГруппировкаКомпоновкиДанных")
Или ТипЗнч(ЭлементСтруктуры) = Тип("ГруппировкаТаблицыКомпоновкиДанных")
Или ТипЗнч(ЭлементСтруктуры) = Тип("ГруппировкаДиаграммыКомпоновкиДанных") Тогда
Если ЭлементСтруктуры.ПоляГруппировки.Элементы.Количество() = 0
Или ЕстьДетальныеЗаписи(ЭлементСтруктуры.Структура) Тогда
Возврат Истина;
КонецЕсли;
ИначеЕсли ТипЗнч(ЭлементСтруктуры) = Тип("ТаблицаКомпоновкиДанных") Тогда
Если ЕстьДетальныеЗаписи(ЭлементСтруктуры.Строки)
Или ЕстьДетальныеЗаписи(ЭлементСтруктуры.Колонки) Тогда
Возврат Истина;
КонецЕсли;
ИначеЕсли ТипЗнч(ЭлементСтруктуры) = Тип("ДиаграммаКомпоновкиДанных") Тогда
Если ЕстьДетальныеЗаписи(ЭлементСтруктуры.Серии)
Или ЕстьДетальныеЗаписи(ЭлементСтруктуры.Точки) Тогда
Возврат Истина;
КонецЕсли;
ИначеЕсли ТипЗнч(ЭлементСтруктуры) = Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда
Если ЕстьДетальныеЗаписи(ЭлементСтруктуры.Настройки.Структура) Тогда
Возврат Истина;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Возврат Ложь;
КонецФункции
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Примерно вот так:
Процедура ВыполнитьПроверку()
НастройкиКД = Новый НастройкиКомпоновкиДанных;
Результат = ЕстьДетальныеЗаписи(НастройкиКД.Структура);
КонецПроцедуры
Функция ЕстьДетальныеЗаписи(СтруктураНастроекКД)
Для каждого ЭлементСтруктуры Из СтруктураНастроекКД Цикл
Если ТипЗнч(ЭлементСтруктуры) = Тип("ГруппировкаКомпоновкиДанных")
Или ТипЗнч(ЭлементСтруктуры) = Тип("ГруппировкаТаблицыКомпоновкиДанных")
Или ТипЗнч(ЭлементСтруктуры) = Тип("ГруппировкаДиаграммыКомпоновкиДанных") Тогда
Если ЭлементСтруктуры.ПоляГруппировки.Элементы.Количество() = 0
Или ЕстьДетальныеЗаписи(ЭлементСтруктуры.Структура) Тогда
Возврат Истина;
КонецЕсли;
ИначеЕсли ТипЗнч(ЭлементСтруктуры) = Тип("ТаблицаКомпоновкиДанных") Тогда
Если ЕстьДетальныеЗаписи(ЭлементСтруктуры.Строки)
Или ЕстьДетальныеЗаписи(ЭлементСтруктуры.Колонки) Тогда
Возврат Истина;
КонецЕсли;
ИначеЕсли ТипЗнч(ЭлементСтруктуры) = Тип("ДиаграммаКомпоновкиДанных") Тогда
Если ЕстьДетальныеЗаписи(ЭлементСтруктуры.Серии)
Или ЕстьДетальныеЗаписи(ЭлементСтруктуры.Точки) Тогда
Возврат Истина;
КонецЕсли;
ИначеЕсли ТипЗнч(ЭлементСтруктуры) = Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда
Если ЕстьДетальныеЗаписи(ЭлементСтруктуры.Настройки.Структура) Тогда
Возврат Истина;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Возврат Ложь;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот