|
Как в отчете в процедуре "ПриКомпоновкеРезультата" получить значение параметра СКД ? | ☑ | ||
---|---|---|---|---|
0
Grekos2
14.08.19
✎
11:21
|
Управляемые формы.
А = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("НачалоПериода")).Значение А = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода"); П = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти("НачалоПериода"); Вот так не получается. Выдается пустая дата, хотя она на форме установлена не пустой. |
|||
1
НадюшаЯ
14.08.19
✎
11:28
|
КомпоновкаДанныхКлиентСервер.ПолучитьПараметр(КомпоновщикНастроек, "Организация").Значение
|
|||
2
НадюшаЯ
14.08.19
✎
11:28
|
Функция ПолучитьПараметр(ОбъектНастройки, Параметр) Экспорт
ЗначениеПараметра = Неопределено; ПолеПараметр = ?(ТипЗнч(Параметр) = Тип("Строка"), Новый ПараметрКомпоновкиДанных(Параметр), Параметр); Если ТипЗнч(ОбъектНастройки) = Тип("НастройкиКомпоновкиДанных") Тогда ЗначениеПараметра = ОбъектНастройки.ПараметрыДанных.НайтиЗначениеПараметра(ПолеПараметр); ИначеЕсли ТипЗнч(ОбъектНастройки) = Тип("ПользовательскиеНастройкиКомпоновкиДанных") Тогда Для Каждого ЭлементНастройки Из ОбъектНастройки.Элементы Цикл Если ТипЗнч(ЭлементНастройки) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") И ЭлементНастройки.Параметр = ПолеПараметр Тогда ЗначениеПараметра = ЭлементНастройки; Прервать; КонецЕсли; КонецЦикла; ИначеЕсли ТипЗнч(ОбъектНастройки) = Тип("КомпоновщикНастроекКомпоновкиДанных") Тогда Для Каждого ЭлементНастройки Из ОбъектНастройки.ПользовательскиеНастройки.Элементы Цикл Если ТипЗнч(ЭлементНастройки) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") И ЭлементНастройки.Параметр = ПолеПараметр Тогда ЗначениеПараметра = ЭлементНастройки; Прервать; КонецЕсли; КонецЦикла; Если ЗначениеПараметра = Неопределено Тогда ЗначениеПараметра = ОбъектНастройки.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(ПолеПараметр); КонецЕсли; Если ЗначениеПараметра = Неопределено Тогда ЗначениеПараметра = ОбъектНастройки.ФиксированныеНастройки.ПараметрыДанных.НайтиЗначениеПараметра(ПолеПараметр); КонецЕсли; ИначеЕсли ТипЗнч(ОбъектНастройки) = Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда ЗначениеПараметра = ОбъектНастройки.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(ПолеПараметр); ИначеЕсли ТипЗнч(ОбъектНастройки) = Тип("ДанныеРасшифровкиКомпоновкиДанных") Тогда ЗначениеПараметра = ОбъектНастройки.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(ПолеПараметр); ИначеЕсли ТипЗнч(ОбъектНастройки) = Тип("КоллекцияЗначенийПараметровКомпоновкиДанных") Тогда ЗначениеПараметра = ОбъектНастройки.Найти(ПолеПараметр); ИначеЕсли ТипЗнч(ОбъектНастройки) = Тип("ОформлениеКомпоновкиДанных") Тогда ЗначениеПараметра = ОбъектНастройки.НайтиЗначениеПараметра(ПолеПараметр); КонецЕсли; Возврат ЗначениеПараметра; КонецФункции |
|||
3
Cyberhawk
14.08.19
✎
11:30
|
КомпоновщикНастроек.ПолучитьНастройки()
|
|||
4
Kashey
14.08.19
✎
11:41
|
(0) А если обратиться к пользовательским настройкам компоновщика? Т.е:
КомпоновщикНастроек.ПользовательскиеНастройки.Элементы .... |
|||
5
Kashey
14.08.19
✎
11:44
|
>> П = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти("НачалоПериода");
в найти нужно передавать ИД пользовательских настроек, не имя поля |
|||
6
Grekos2
14.08.19
✎
11:47
|
Спасибо.
Функция в (2) решает проблемму. :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |