ДоступныеЗначения для параметра (Тип=СписокЗначений) в СКД

1. AzzZ 17.10.11 12:15 Сейчас в теме
Доброго времени суток.
Задача:
В НабореДанных (запрос) внешнего отчета написанном на СКД. Есть параметр заданный СпискомЗначений с типом значений СправочникСсылка.ЗначенияСвойствОбъектов;
Соответственно для выбора пользователем требуются лишь несколько значений справочника, а не весь справочник.
Как ограничить выдаваемый Список отбора по владельцу справочника.
Нашел такую инфу:

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

В ДоступныеЗначения можно что-либо добавить только если задать предопределенное значение параметра как пустую ссылку. Иначе тип у него "Неопределено".
В общем то после загрузки значений в ДоступныеЗначения ничего не меняется, в отчете все равно для выбора пользователю выпадает весь справочник.

Собственно вопрос что я делаю не так?
И есть ли все-таки встроенный способ в СКД для задания доступных значений Списка?
СКД изучаю 3 дня, сильно не ругайте.

Я понимаю, что вполне можно отменить стандартную обработку для выбора значений списка на ПолеВвода формы отчета, затем добавить свою форму и заполнить её программно нужным Списком. Нашел для этого такую обработку http://infostart.ru:8080/public/72158/ - которую с новыми правилами, к сожалению, не могу скачать.

Есть ли другие способы?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. trumanl 12 02.09.14 10:47 Сейчас в теме
(1)(3)(4) я думаю Вам подойдет вот такое решение.
Долго сам копался с настройками объекта Компоновщик настроек, а оказалось что нужно обращаться с схеме компоновки данных.
Как обычно решение было найдено в типовой конфе УПП
ссылка на github https://github.com/Rugut/UPP/blob/master/1%D0%A1/%D0%9E%D1%82%D1%87%D0%B5%D­1%82%D1%8B/%D0%9E%D1%82%D1%87%D0%B5%D1%82%D0%9F%D0%BE%D0%A1%­D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B5%D0%9F%D1%80%D0%B0%D0%B2/­%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%D0%9E%D0%B1%D1%8A%D0%B5­%D0%BA%D1%82%D0%B0.txt
Процедура ИнициализацияОтчета()

	// добавляем список доступных значений
	СписокВалют = Новый СписокЗначений;
	СписокВалют.Добавить(Справочники.Валюты.НайтиПоКоду("643"));
	СписокВалют.Добавить(Справочники.Валюты.НайтиПоКоду("840"));
	
	ПараметрСхемы = СхемаКомпоновкиДанных.Параметры.Найти("ВалютаОтчета");
	ПараметрСхемы.УстановитьДоступныеЗначения(СписокВалют);
	
КонецПроцедуры // ИнициализацияОтчета
 
ИнициализацияОтчета();
Показать
ksely; belas; xa1ter; +3 Ответить
7. Yaga_2011 5 24.05.19 14:25 Сейчас в теме
У меня есть рабочий вариант. Выбор на форме значения параметра СКД - из списка значений. Например:
ЭлементыФормы.МоиНастройки.Значение.ДоступныеПараметры.Элементы.Найти("МойПараметр").ДоступныеЗначения = МойСписокЗначений;

Зд. Мои Настройки реквизит на форме имеет тип КомпоновщикНастроек.Настройки.ПараметрыДанных.
2. Solid 17.10.11 14:14 Сейчас в теме
Проще задать в конфигураторе предопределенные элементы справочника, чтобы заполнить в СКД доступные значения.
3. AzzZ 17.10.11 17:59 Сейчас в теме
Гениально угу. Может мне еще отдельный справочник с нужными значениями создать, и не париться с отбором? Он итак тогда будет отображать только нужные мне значения. Странные советы пишите.
AleksAaron; Dimisi; smilemanrus; Gang031; +4 Ответить
4. Serge_ASB 02.07.14 15:51 Сейчас в теме
Скажите, найдено ли было решение: у меня отбор Организация - Контрагент - Договор; хотелось бы, чтоб при выборе организации при начале выбора Контрагентов были только те, с кем у Организации взаимоотношения, и, соответственно, те договора, где контрагентом - выбранный контрагент?
P.S. В какое место формы отчета писать дополнительные процедуры обработки выбора и т.п.?
6. Serj1C 483 28.10.16 14:43 Сейчас в теме
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
	
	Запрос = Новый Запрос;
	Запрос.Текст =
		"ВЫБРАТЬ ПЕРВЫЕ 10
		|	ЗначенияСвойствОбъектов.Ссылка
		|ИЗ
		|	Справочник.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов";
		
	м = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
	сп = новый СписокЗначений;
	сп.ЗагрузитьЗначения(м);
	СхемаКомпоновкиДанных.НаборыДанных[0].Поля.Найти("Значение").УстановитьДоступныеЗначения(сп);
	
	
КонецПроцедуры
Показать
Оставьте свое сообщение

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