Программная установка Схемы компоновки данных отчета в Управляемой форме. Как?

1. xzorkiix 34 13.04.12 18:05 Сейчас в теме
Вечер добрый.

Делаю так (Модуль формы)

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

&НаКлиенте
Процедура ВнешнийОтчетПриИзменении(Элемент)
	
	ВнешнийОтчетПриИзмененииНаСервере();
	ЭтаФорма.СкомпоноватьРезультат(РежимКомпоновкиРезультата.Фоновый);
КонецПроцедуры
Показать


При формировании ошибка "Не найдено поле", При завершении метода на стороне сервера

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

При возвращении на клиент

Перечень полей пуст. Сами настройки схемы есть.
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. xzorkiix 34 13.04.12 18:28 Сейчас в теме
Повторил инициализацию Компоновщика Настроек на клиенте, так


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

&НаКлиенте
Процедура ВнешнийОтчетПриИзменении(Элемент)
	
	ВнешнийОтчетПриИзмененииНаСервере();
	Отчет.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресХранилища));
	
	ЭтаФорма.СкомпоноватьРезультат(РежимКомпоновкиРезультата.Фоновый);
КонецПроцедуры
Показать

После чего Отчет.КомпоновщикНастроек.Настройки.ДоступныеПоляВыбора.Элементы - содержит перечень доступных полей, но при вызове формы настройки варианта отчета доступных полей нет. Отчет так же сообщает "не найдено поле"
3. nvv1970 17.10.13 18:02 Сейчас в теме
Тема актуальна.
СКД устанавливается, но не возвращается в "отчет". Почему?
&НаСервере
Процедура УстановитьСКД()
	ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
	ОтчетОбъект.СхемаКомпоновкиДанных = ОтчетОбъект.ПолучитьМакет("Макет");
	ОтчетОбъект.КомпоновщикНастроек.ЗагрузитьНастройки(ОтчетОбъект.СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
	ЗначениеВРеквизитФормы(ОтчетОбъект, "Отчет");
КонецПроцедуры
Показать
4. brato4karik 06.11.13 11:38 Сейчас в теме
Поддерживаю последний пост, и мне актуально)
5. Bukaska 140 06.11.13 17:14 Сейчас в теме
6. пользователь 23.01.14 10:38
Сообщение было скрыто модератором.
...
7. f333 1 18.08.14 16:47 Сейчас в теме
8. yku 372 02.11.15 15:20 Сейчас в теме
У меня тоже не получилось динамически изменять. У меня получилось только один раз устанавливать настройки. Если форма уже открылась, то всё - настройки не обновляются что только не пробовал.

Получилось выйти из ситуации только открытием формы каждый раз. Настройки устанавливаю в "ПриСозданииНаСервере"
9. insurgut 207 03.11.15 08:36 Сейчас в теме
Делайте все в модуле обработки, и будет вам счастье. Что-то вроде такого будет выглядеть в модуле обработки:

Процедура ИзменитьЗапрос()
	
	ТекстЗапроса = ЭтотОбъект.СхемаКомпоновкиДанных.НаборыДанных.НаборДанных1.Запрос;
	
	... алгоритм изменения текста запроса...
	
	ЭтотОбъект.СхемаКомпоновкиДанных.НаборыДанных.НаборДанных1.Запрос = ТекстЗапроса;
	
КонецПроцедуры

ИзменитьЗапрос();
Показать


Из формы вы ничего сделать не сможете, т.к. схема уже распакована на стороне сервера.
dbachinsky; +1 Ответить
10. Mnemonik 16.03.20 17:07 Сейчас в теме
У меня управляемая форма отчета, в модуле объекта описана процедура ПриКомпоновкеРезультата()
Почему для пользователей в Компоновщике настроек отсутствуют доступные поля выбора?

в отладке проверяю:
НастрокаПоУмолчанию = КомпоновщикНастроек.ПолучитьНастройки();
КомпоновщикНастроек.ЗагрузитьНастройки(НастрокаПоУмолчанию);


тоже самое и с таким вариантом:
КомпоновщикНастроек.Настройки



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

Весь код:
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки);

	ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,ДанныеРасшифровки);

	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
	ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
	//ДокументРезультат = Новый ТабличныйДокумент;
	ДокументРезультат.ПоказатьУровеньГруппировокСтрок(0);

	КомпоновщикНастроек.ЗагрузитьНастройки(НастрокаПоУмолчанию);
Показать
Оставьте свое сообщение
Вакансии
Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день

Программист 1C
Волгоград
зарплата от 200 000 руб.
Полный день

Аналитик
Санкт-Петербург
зарплата от 200 000 руб. до 250 000 руб.
Полный день