|
v8: отчет (упр. приложение) - аналог кнопки "Установить стандартные настройки" | ☑ | ||
---|---|---|---|---|
0
Сниф
15.10.12
✎
10:19
|
Демонстрационная конфигурация "Библиотека стандартных подсистем".
В любом отчете - жмем кнопку "Изменить вариант", меняем вариант, завершаем редактирование. И далее, чтобы настройки из варианта попали в пользовательские настройки, надо нажать кнопку "Установить стандартные настройки". Киньте, пожалуйста, пример кода, как это действие выполнить программно. |
|||
1
GANR
15.10.12
✎
10:28
|
(0) Шо, опять?
|
|||
2
Сниф
15.10.12
✎
10:39
|
(1) вопрос опять по СКД, но про другое.
|
|||
3
Сниф
15.10.12
✎
20:17
|
не едут лыжи.
|
|||
4
БалбесВ1с
15.10.12
✎
20:29
|
(3)Или ты ...
|
|||
5
Сниф
15.10.12
✎
20:50
|
Получился такой рабочий код изменения вариант. Осталось, думаю, перебрать элементы коллекции НовыйНастройки.Элементы и втулить их в ПользовательскиеНастройки.
&НаКлиенте Процедура ИзменитьВариант(Команда) ФормаНастроек = ПолучитьФорму("Отчет.ТоварыНаСкладах.Форма.ФормаВарианта"); ФормаНастроек.Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Отчет.КомпоновщикНастроек.Настройки); Рез = ФормаНастроек.ОткрытьМодально(); Если Рез = Истина Тогда НовыеНастройки = ФормаНастроек.Отчет.КомпоновщикНастроек.Настройки; УстановитьНастройки(НовыеНастройки); КонецЕсли; КонецПроцедуры &НаСервере Процедура УстановитьНастройки(НовыеНастройки) ОбъектОтчет = РеквизитФормыВЗначение("Отчет"); ОбъектОтчет.КомпоновщикНастроек.ЗагрузитьНастройки(НовыеНастройки); ЗначениеВРеквизитФормы(ОбъектОтчет, "Отчет"); КонецПроцедуры // УстановитьСхемуКомпановкиНаСервере() |
|||
6
Сниф
15.10.12
✎
23:19
|
Установка пользовательский настроек при изменении варианта в окончательном виде:
&НаКлиенте Процедура ИзменитьВариант(Команда) ФормаНастроек = ПолучитьФорму("Отчет.ТоварыНаСкладах.Форма.ФормаВарианта"); ФормаНастроек.Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Отчет.КомпоновщикНастроек.Настройки); Рез = ФормаНастроек.ОткрытьМодально(); Если Рез = Истина Тогда НовыеНастройки = ФормаНастроек.Отчет.КомпоновщикНастроек.Настройки; УстановитьНастройки(НовыеНастройки); КонецЕсли; КонецПроцедуры &НаСервере Процедура УстановитьНастройки(НовыеНастройки) ОбъектОтчет = РеквизитФормыВЗначение("Отчет"); ОбъектОтчет.КомпоновщикНастроек.ЗагрузитьНастройки(НовыеНастройки); ПользовательскиеНастройки = ОбъектОтчет.КомпоновщикНастроек.ПользовательскиеНастройки; Для каждого ПользНастройка Из ПользовательскиеНастройки.Элементы Цикл ИД_ПользНастройки = ПользНастройка.ИдентификаторПользовательскойНастройки; Если ТипЗнч(ПользНастройка) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда Для каждого Настройка Из НовыеНастройки.ПараметрыДанных.Элементы Цикл Если Настройка.ИдентификаторПользовательскойНастройки = ИД_ПользНастройки Тогда ПользНастройка.Использование = Настройка.Использование; ПользНастройка.Значение = Настройка.Значение; Прервать; КонецЕсли; КонецЦикла; ИначеЕсли ТипЗнч(ПользНастройка) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда Для каждого Настройка Из НовыеНастройки.Отбор.Элементы Цикл Если Настройка.ИдентификаторПользовательскойНастройки = ИД_ПользНастройки Тогда ПользНастройка.Использование = Настройка.Использование; ПользНастройка.ПравоеЗначение= Настройка.ПравоеЗначение; Прервать; КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; ЗначениеВРеквизитФормы(ОбъектОтчет, "Отчет"); КонецПроцедуры // УстановитьНастройки |
|||
7
GANR
16.10.12
✎
18:20
|
О... Кстати. Так бы сразу и спросил в (0) "Как программно перенести пользовательские настройки в настройки отчета?". (6) Вот только коллекцию НовыеНастройки.Отбор.Элементы следует обходить рекурсивно, так как в отборах могут быть ещё и группы И / ИЛИ / НЕ неопределенного уровня вложенности.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |