Программная установка Схемы компоновки данных отчета в Управляемой форме. Как?
Вечер добрый.
Делаю так (Модуль формы)
При формировании ошибка "Не найдено поле", При завершении метода на стороне сервера
Отчет.КомпоновщикНастроек.Настройки.ДоступныеПоляВыбора.Элементы - содержит перечень всех полей схемы
При возвращении на клиент
Перечень полей пуст. Сами настройки схемы есть.
Делаю так (Модуль формы)
Процедура ВнешнийОтчетПриИзмененииНаСервере()
ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
ОтчетОбъект.УстановитьСхемуКомпоновкиДанных();
ОтчетОбъект.КомпоновщикНастроек.ЗагрузитьНастройки(ОтчетОбъект.СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
ЗначениеВРеквизитФормы(ОтчетОбъект, "Отчет");
КонецПроцедуры
&НаКлиенте
Процедура ВнешнийОтчетПриИзменении(Элемент)
ВнешнийОтчетПриИзмененииНаСервере();
ЭтаФорма.СкомпоноватьРезультат(РежимКомпоновкиРезультата.Фоновый);
КонецПроцедуры
ПоказатьПри формировании ошибка "Не найдено поле", При завершении метода на стороне сервера
Отчет.КомпоновщикНастроек.Настройки.ДоступныеПоляВыбора.Элементы - содержит перечень всех полей схемы
При возвращении на клиент
Перечень полей пуст. Сами настройки схемы есть.
По теме из базы знаний
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Повторил инициализацию Компоновщика Настроек на клиенте, так
После чего Отчет.КомпоновщикНастроек.Настройки.ДоступныеПоляВыбора.Элементы - содержит перечень доступных полей, но при вызове формы настройки варианта отчета доступных полей нет. Отчет так же сообщает "не найдено поле"
Процедура ВнешнийОтчетПриИзмененииНаСервере()
ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
ОтчетОбъект.УстановитьСхемуКомпоновкиДанных();
ОтчетОбъект.КомпоновщикНастроек.ЗагрузитьНастройки(ОтчетОбъект.СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
ЗначениеВРеквизитФормы(ОтчетОбъект, "Отчет");
АдресХранилища = ПоместитьВоВременноеХранилище(ОтчетОбъект.СхемаКомпоновкиДанных, УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ВнешнийОтчетПриИзменении(Элемент)
ВнешнийОтчетПриИзмененииНаСервере();
Отчет.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресХранилища));
ЭтаФорма.СкомпоноватьРезультат(РежимКомпоновкиРезультата.Фоновый);
КонецПроцедуры
ПоказатьПосле чего Отчет.КомпоновщикНастроек.Настройки.ДоступныеПоляВыбора.Элементы - содержит перечень доступных полей, но при вызове формы настройки варианта отчета доступных полей нет. Отчет так же сообщает "не найдено поле"
Тема актуальна.
СКД устанавливается, но не возвращается в "отчет". Почему?
СКД устанавливается, но не возвращается в "отчет". Почему?
&НаСервере
Процедура УстановитьСКД()
ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
ОтчетОбъект.СхемаКомпоновкиДанных = ОтчетОбъект.ПолучитьМакет("Макет");
ОтчетОбъект.КомпоновщикНастроек.ЗагрузитьНастройки(ОтчетОбъект.СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
ЗначениеВРеквизитФормы(ОтчетОбъект, "Отчет");
КонецПроцедуры
Показать
У меня тоже не получилось динамически изменять. У меня получилось только один раз устанавливать настройки. Если форма уже открылась, то всё - настройки не обновляются что только не пробовал.
Получилось выйти из ситуации только открытием формы каждый раз. Настройки устанавливаю в "ПриСозданииНаСервере"
Получилось выйти из ситуации только открытием формы каждый раз. Настройки устанавливаю в "ПриСозданииНаСервере"
Делайте все в модуле обработки, и будет вам счастье. Что-то вроде такого будет выглядеть в модуле обработки:
Из формы вы ничего сделать не сможете, т.к. схема уже распакована на стороне сервера.
Процедура ИзменитьЗапрос()
ТекстЗапроса = ЭтотОбъект.СхемаКомпоновкиДанных.НаборыДанных.НаборДанных1.Запрос;
... алгоритм изменения текста запроса...
ЭтотОбъект.СхемаКомпоновкиДанных.НаборыДанных.НаборДанных1.Запрос = ТекстЗапроса;
КонецПроцедуры
ИзменитьЗапрос();
ПоказатьИз формы вы ничего сделать не сможете, т.к. схема уже распакована на стороне сервера.
У меня управляемая форма отчета, в модуле объекта описана процедура ПриКомпоновкеРезультата()
Почему для пользователей в Компоновщике настроек отсутствуют доступные поля выбора?
в отладке проверяю:
тоже самое и с таким вариантом:
В основной схеме компоновке данных у полей Набора данных нет ограничений.
Весь код:
Почему для пользователей в Компоновщике настроек отсутствуют доступные поля выбора?
в отладке проверяю:
НастрокаПоУмолчанию = КомпоновщикНастроек.ПолучитьНастройки();
КомпоновщикНастроек.ЗагрузитьНастройки(НастрокаПоУмолчанию);
тоже самое и с таким вариантом:
КомпоновщикНастроек.Настройки
В основной схеме компоновке данных у полей Набора данных нет ограничений.
Весь код:
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки);
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,ДанныеРасшифровки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
//ДокументРезультат = Новый ТабличныйДокумент;
ДокументРезультат.ПоказатьУровеньГруппировокСтрок(0);
КомпоновщикНастроек.ЗагрузитьНастройки(НастрокаПоУмолчанию);
Показать
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)