|
Программно узнать используется ли параметр в отчете | ☑ | ||
---|---|---|---|---|
0
itbchern
22.08.16
✎
07:54
|
Здравствуйте
Знаю, что вопрос скорее всего уже где-то поднимался, но не смог найти ответа Как в модуле объекта отчета узнать, используется ли какой-то определенный параметр (т.е. стоит ли у него галочка на форме) 1С 8.3, делаю отчет на СКД, программно заполняю набор данных- объект |
|||
1
extrim-style
22.08.16
✎
08:36
|
ИдентификаторПараметра = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти(НаименованиеПараметра).ИдентификаторПользовательскойНастройки;
НастройкаПараметра = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ИдентификаторПараметра); ИспользованиеПараметра = ?(НастройкаПараметра <> Неопределено, НастройкаПараметра.Использование, КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти(НаименованиеПараметра).Использование); |
|||
2
extrim-style
22.08.16
✎
08:36
|
+(1) если не установлено - по умолчанию
|
|||
3
ASU_Diamond
22.08.16
✎
08:39
|
я так делал:
Для каждого лЭлементОтбора Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл Если лЭлементОтбора.Использование Тогда Если лЭлементОтбора.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Номенклатура") Тогда КонецЕсли; КонецЕсли; КонецЦикла; |
|||
4
extrim-style
22.08.16
✎
08:45
|
(3) так ты не получишь значение, изменённое пользователем на форме
|
|||
5
Зая Бусечка
22.08.16
✎
08:50
|
Надо не КомпоновщикНастроек.Настройки
а настройки = КомпоновщикНастроек.ПолучитьНАстройки(); И отсюда уже плясать. |
|||
6
extrim-style
22.08.16
✎
09:02
|
(5) кстати да, спасибо.
|
|||
7
ASU_Diamond
22.08.16
✎
09:09
|
(4) работает всё. Хотя этот код написан давно, в (1) более правильный.
|
|||
8
DrZombi
гуру
22.08.16
✎
09:15
|
Зачем это все?
Там есть параметр "Использовать ВСЕГДа" :) |
|||
9
extrim-style
22.08.16
✎
09:16
|
(7) судя по всему у тебя отбор выведен на форму. В отборе параметры нельзя использовать, а в (0) вопрос именно о параметрах, а не об отборе.
|
|||
10
itbchern
23.08.16
✎
18:32
|
То ли лыжи, то ли я...
Если стандартно отключено использование элемента в СКД- то возвращается "Нет", в противном случае- "Да" Тыкание галочки вручную на результат не влияет Пробовал получать настройки и "КомпоновщикНастроек.Настройки", и "КомпоновщикНастроек.ПолучитьНастройки" Такое ощущение что он просто получает настройки по умолчанию и больше ничего не хочет Вот мой пример Настройки = КомпоновщикНастроек.ПолучитьНастройки(); Элемент = Настройки.ПараметрыДанных.Элементы.Найти("ПериодОтчета"); Использование = КомпоновщикНастроек.Настройки.НаличиеВыбораУЭлемента(Элемент); Сообщить(Использование); Вариант из (1) не сработал |
|||
11
itbchern
23.08.16
✎
18:33
|
Пытаюсь сделать, кстати, в событии ПриКомпоновкеРезультата()"
|
|||
12
hitodom
23.08.16
✎
18:35
|
через макет компоновки можно получить результирующий запрос
|
|||
13
itbchern
23.08.16
✎
18:52
|
Похоже все-таки лыжи
Элемент = Настройки.ПараметрыДанных.Элементы.Найти("ПериодОтчета"); ПользовательЭлемент = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(Элемент.ИдентификаторПользовательскойНастройки); Использование = КомпоновщикНастроек.Настройки.НаличиеВыбораУЭлемента(Элемент); Сообщить(Использование); Как-то так получилось сделать то, что мне хотелось |
|||
14
itbchern
23.08.16
✎
18:54
|
Точнее как-то так
Элемент = Настройки.ПараметрыДанных.Элементы.Найти("ПериодОтчета"); ПользовательЭлемент = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(Элемент.ИдентификаторПользовательскойНастройки); Сообщить(ПользовательЭлемент.Использование); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |