Доступные значения параметра СКД

1. user1075930 15.05.23 12:08 Сейчас в теме
Здравствуйте, проблема такова: на форме обработки реализовано заполнение параметров при помощи КомановщикНастроекКомпановкиДанных, сейчас необходимо ограничить список выбора определенных параметров и отборов списком значения, который формируется программно при открытии формы. Потратил уйму времени но даже близко ничего не получилось реализовать.
Что уже пробовал:
Выводил на форму и КомановщикНастроекКомпановкиДанных.НастройкиПараметрыДанных и КомпоновщикНастроекКД.НастройкиОтбор
Далее при открытии формы:
СхемаКомпоновкиДанных = РеквизитФормыВЗначение("Объект").ПолучитьМакет("ОтборыСКД");
СхемаКомпоновкиДанных.Параметры.Найти("МойПараметр").УстановитьДоступныеЗначения(МойСписокЗначений);

АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, УникальныйИдентификатор);
ИсточникДоступныхНастроекКомпоновкиДанных = Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресВоВременномХранилище);

КомпоновщикНастроекКД.Инициализировать(ИсточникДоступныхНастроекКомпоновкиДанных);
КомпоновщикНастроекКД.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
КомпоновщикНастроекКД.Настройки.ПараметрыДанных.ДоступныеПараметры.Элементы.Найти("МойПараметр").ДоступныеЗначения = МойСписокЗначений;
	КомпоновщикНастроекКД.Настройки.Отбор.ДоступныеПоляОтбора.Элементы.Найти("МойОтбор").ДоступныеЗначения = МойСписокЗначений;
	КомпоновщикНастроекКД.Настройки.Отбор.ДоступныеПоляОтбора.Элементы[КомпоновщикНастроекКД.Настройки.Отбор.ДоступныеПоляОтбора.Элементы.Количество()-1]
		.Элементы[0].ДоступныеЗначения = МойСписокЗначений;
Показать


К сожалению ничего их этого не ограничивает список выбора, и пользователь может выбрать любой элемент справочника.
Подскажите кто сталкивался.
По теме из базы знаний
Найденные решения
10. user1075930 19.05.23 12:01 Сейчас в теме
(9) Проверил ваш код, в моем случае он выдал очень странные результат.
Вопрос кстате решился, достаточно изменить программно набор данных СКД и использовать метод "УстановитьДоступныеЗначения()" прикрепляю скриншот с результатами:
Прикрепленные файлы:
obmailok; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. glek 119 15.05.23 12:36 Сейчас в теме
(1) Здесь просятся параметры выбора у параметров компоновки
http://joxi.ru/LmGNPQNcZ9LpZr
3. user-z99999 67 15.05.23 12:53 Сейчас в теме
(2)
Лучше не давать ссылки на сторонние ресурсы, так как они умирают через некоторое время.
Внизу, под сообщением, кнопка Прикрепить файл.
6. glek 119 15.05.23 14:19 Сейчас в теме
(3) У меня нет этого файла. Потому что я его не сохраняю.
4. user1075930 15.05.23 14:01 Сейчас в теме
(2) А есть пример кода, с помощью которого можно установить определенный список значений, который будет доступен к выбору в пользовательском режиме? Как я понимаю, при помощи параметров выбора можно ограничить выбор по какому то реквизиту?
5. glek 119 15.05.23 14:18 Сейчас в теме
(4) Пишете функцию в общем модуле и указываете её. К сожалению, рядом под рукой нет кода.
7. user1075930 15.05.23 15:50 Сейчас в теме
(5) Написал, вызываю функцию через выражение - не работает. А как вызвать функцию через параметры выбора я так и не понял.
Прикрепленные файлы:
8. user1075930 18.05.23 18:07 Сейчас в теме
Апну, ответа пока нет =(
9. irik 19.05.23 10:43 Сейчас в теме
СхемаКомпоновкиДанных = РеквизитФормыВЗначение("Объект").ПолучитьМакет("ОтборыСКД");
МойПараметр = СхемаКомпоновкиДанных.Параметры.Найти("МойПараметр");
Если МойПараметр <> Неопределено Тогда
ПараметрыВыбора = Новый Структура("Отбор", Новый Структура());
ПараметрыВыбора.Отбор.Вставить("Ссылка", МойСписокЗначений);
МойПараметр.ПараметрыРедактирования.УстановитьЗначениеПараметра("ПараметрыВыбора", ПараметрыВыбора);
КонецЕсли;
10. user1075930 19.05.23 12:01 Сейчас в теме
(9) Проверил ваш код, в моем случае он выдал очень странные результат.
Вопрос кстате решился, достаточно изменить программно набор данных СКД и использовать метод "УстановитьДоступныеЗначения()" прикрепляю скриншот с результатами:
Прикрепленные файлы:
obmailok; +1 Ответить
11. user1126480 16 29.08.23 00:15 Сейчас в теме
(10)
достаточно изменить программно набор данных СКД


Из скриншотов ничего не понятно. Где определять процедуру "УстановитьДоступныеЗначения()"??? И на скриншотах текст к чему относится???
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот