КомпоновщикНастроек - реквизит обработки. На форму обработки вынес реквизит КомпоновщикНастроекНастройкиОтбор, чтобы настраивать отбор, но в режиме 1с предприятия на форме поля "доступные поля отбора" пустые. Что с этим делать ? Код ниже
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
СхемаКомпоновкиДанных = Новый СхемаКомпоновкиДанных;
ИсточникиДанных = СхемаКомпоновкиДанных.ИсточникиДанных.Добавить();
ИсточникиДанных.Имя = "Local";
ИсточникиДанных.ТипИсточникаДанных = "Local";
НаборДанных = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхЗапросСхемыКомпоновкиДанных"));
НаборДанных.Имя = "ОсновнойНаборДанных";
НаборДанных.ИсточникДанных = "Local";
НаборДанных.Запрос = "ВЫБРАТЬ
| СправочникНоменклатура.Ссылка КАК Номенклатура,
| ЦеныНоменклатурыСрезПоследних.ТипЦен,
| ЦеныНоменклатурыСрезПоследних.Цена
|ИЗ
| Справочник.Номенклатура КАК СправочникНоменклатура
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
| ПО СправочникНоменклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура
|{ГДЕ
| СправочникНоменклатура.Ссылка.* КАК Номенклатура,
| ЦеныНоменклатурыСрезПоследних.ТипЦен.*,
| ЦеныНоменклатурыСрезПоследних.Цена}";
ПолеНабораДанныхСхемыКомпоновкиДанных = СхемаКомпоновкиДанных.НаборыДанных.ОсновнойНаборДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
ПолеНабораДанныхСхемыКомпоновкиДанных.Поле = "Номенклатура";
ПолеНабораДанныхСхемыКомпоновкиДанных.ПутьКДанным = "Номенклатура";
ПолеНабораДанныхСхемыКомпоновкиДанных.Заголовок = "Номенклатура";
ВыбранноеПолеКомпоновкиДанных = СхемаКомпоновкиДанных.НастройкиПоУмолчанию.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
ВыбранноеПолеКомпоновкиДанных.Поле = Новый ПолеКомпоновкиДанных("Номенклатура");
ВыбранноеПолеКомпоновкиДанных.Использование = Истина;
ГруппировкаКомпоновкиДанных = СхемаКомпоновкиДанных.НастройкиПоУмолчанию.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
ГруппировкаКомпоновкиДанных.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
ГруппировкаКомпоновкиДанных.Использование = Истина;
Настройки = КомпоновщикНастроек.ПолучитьНастройки();
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, СхемаКомпоновкиДанных.НастройкиПоУмолчанию, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , , Истина);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ТаблицаЗначений = Новый ТаблицаЗначений;
ПроцессорВывода.УстановитьОбъект(ТаблицаЗначений);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
КонецПроцедуры
ПоказатьПо теме из базы знаний
- Проведение/снятие с проведения документов/очистки движений не проведенных, перезаписи ссылочных объектов с отборами для баз 1С 8.1-8.3 УТ 10.3/11, БП 2/3, КА 1.1/2, УНФ 1.6, ЗУП 3
- Ограничения полей, или как обмануть СКД?
- Как ограничить поля отбора в динамическом списке и ничего не сломать
- Убираем параметры из отбора СКД
- Процессор 1С – групповая обработка данных
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Boneman, Дружище, если тебе есть что ответить или подсказать по теме - отвечай, а твои замечания, по части "мифической таблицы" и процедуры "при создании на сервере" абсолютно не к месту. Вопрос банелен - в каком месте и что мне нужно написать, чтобы поля, отмеченные в построителе, отображались в коллекции "Доступные поля отбора".
//Схему компоновки данных надо помещать во временное хранилище, иначе при выходе с сервера настройки компоновки данных пропадут
АдресСхемыКомпоновкиДанных = ПоместитьВоВременноеХранилище(СКД, Новый УникальныйИдентификатор);
КомпоновщикНастроекКомпоновкиДанных.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемыКомпоновкиДанных));
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот