Имя: Пароль:
1C
1С v8
Отчет с несколькими схемами компоновки данных
0 Evgen219r
 
02.12.14
21:40
Приветствую!

В отчете есть несколько схем компановки данных. Нужно, чтобы при смене схемы обновлялись настройки.

&НаКлиенте
Процедура ВидРегистраОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    ПолучитьСхемуКомпоновки(ВыбранноеЗначение);
    Отчет.ВидРегистра = ВыбранноеЗначение;
КонецПроцедуры

&НаСервере
Процедура ПолучитьСхемуКомпоновки(Имя)
    ЭтотОбъект = РеквизитФормыВЗначение("Отчет");
    ТекущаяСхемаКомпоновки = ЭтотОбъект.ПолучитьМакет(Имя);
    ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(ТекущаяСхемаКомпоновки);
    Отчет.КомпоновщикНастроек.Инициализировать(ИсточникНастроек);
    Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(ТекущаяСхемаКомпоновки.НастройкиПоУмолчанию);

        Отчет.КомпоновщикНастроек.Инициализировать(ИсточникНастроек);

    Отчет.КомпоновщикНастроек.Восстановить(СпособВосстановленияНастроекКомпоновкиДанных.ПроверятьДоступность);
КонецПроцедуры


Такой код позволяет обновить поля выбора в соответствии с выбранной схемой, отчет формируется. Но некоторые поля помечены красным крестиком. Не обновляется коллекция полей для выбора.

Поскажите, как сделать, чтобы работало корректно::
1 Armando
 
02.12.14
22:42
100500 раз обсуждалось
надо схему поместить во временное хранилище, а адрес хранилища передать в ИсточникДоступныхНастроекКомпоновкиДанных
2 Armando
 
02.12.14
22:43
Адрес = ПоместитьВоВременноеЗранилище(ТекущаяСхемаКомпоновки);
ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(Адрес);
3 Armando
 
02.12.14
22:44
пример из СП



Пример 1:
// Создадим URL для поля СхемаКомпоновкиДанных для ссылки СправочникОбъект.Ссылка
URLСхемы = ПолучитьНавигационнуюСсылку(СправочникОбъект.Ссылка, "СхемаКомпоновкиДанных");
// Создадим источник
ИсточникДоступныхНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLСхемы);

Пример 2:
// Поместим схему во временное хранилище
URLСхемы = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных);
// Создадим источник
ИсточникДоступныхНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(URLСхемы);
4 Evgen219r
 
02.12.14
22:48
Armando, прошу прощения, я в СКД новичок.
Можно по-подробнее, что в моём примере я не так сделал? И как сделать правильно.

Спасибо
5 Evgen219r
 
02.12.14
22:49
Отладчиком сморю, в процедуре

ЭтотОбъект.КомпоновщикНастроек.Настройки.Выбор.ДоступныеПоляВыбора.Элементы

Содержит нужные поля

А на клиенте Отчет.КомпоновщикНастроек.Настройки.Выбор.ДоступныеПоляВыбора.Элементы

Уже нет от схемы по умолчанию
6 Evgen219r
 
11.12.14
15:00
Неужели никто не знает?