Имя: Пароль:
1C
1С v8
СКД: частичное применение настроек
0 Stolz
 
28.02.13
11:04
Доброго времени суток всем!

Есть некий отчёт, который хотелось бы построить на СКД. На форме отчёта будут размещены отборы по полям Поле1, Поле2, поле3. Для построения отчёта необходимо использовать две схемы СКД. В одной из них можно выполнить отбор только по полю Поле1, а поля Поле2 и Поле3 для неё неприменимы. Для второй схемы применимы все три поля.

Нужно при помощи первой схемы СКД сформировать некую таблицу значений, внести в неё изменения, а затем с помощью второй схемы СКД вывести данные. В принципе, во всём этом нет ничего сложного, проблема лишь в том, что непонятно, как можно настройки второй СКД применить к первой СКД.

Обычный метод КомпоновщикНастроекДляСКД1.ЗагрузитьНастройки(КомпоновщикНастроекДляСКД2.ПолучитьНастройки()) здесь не годится, так как во второй СКД есть поля Поле2 и Поле3, а их нет в первой СКД.

Вопрос в том, как загрузить настройки из одной СКД в другую лишь частично?
1 Stolz
 
28.02.13
11:48
Ау, есть здесь знатоки СКД? :-)
2 lxndr
 
28.02.13
11:53
(0) А в чем проблема то? Установи значения отбора для полей Поле2 и Поле3 отдельно.
3 Stolz
 
28.02.13
12:25
Видимо, я неясно выразился. Полей Поле2 и Поле3 в первой СКД нет совсем. Однако для неё хотелось бы использовать настройки из второй СКД. Поэтому как-то нужно загрузить в СКД1 не все настройки из СКД2, а только их часть. Т.е. в нашем случае только настройки для поля Поле1.
4 Stolz
 
28.02.13
12:27
Вдогонку: предполагается, что на форме отчёта будут размещены настройки для СКД2.
5 Stolz
 
28.02.13
15:03
Ни у кого никаких идей?
6 lxndr
 
28.02.13
15:04
КомпоновщикНастроекДляСКД1.ЗагрузитьНастройки(КомпоновщикНастроекДляСКД2.ПолучитьНастройки()) срабатывает?
7 Stolz
 
28.02.13
15:32
Да, срабатывает. Проблемы появляются потом:

ПроцессорКомпоновкиДанных.Инициализировать(ТекКомпоновщикМакета.Выполнить(ТекСхемаКомпоновкиДанных, ТекНастройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")))

говорит, что нет такого поля: Поле2. И он прав: в первой схеме компоновки его действительно нет.
8 lxndr
 
28.02.13
15:34
(7) тогда удаляй ненужные поля после загрузки всех.
Каких-то универсальных способов, думаю, не найдешь.
9 Stolz
 
28.02.13
15:50
Да я, собственно, уже решил проблему совершенно другим способом. Но в любом случае, lxndr, спасибо за участие.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший