Получение значение отбора в СКД

1. lk78 190 25.05.14 20:51 Сейчас в теме
Подскажите как получить установленное значение отбора в СКД

СписокЭлементов = КомпоновщикНастроек.Настройки.Отбор.Элементы;

Для каждого Элемент из СписокЭлементов Цикл
     
    Если Элемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация") Тогда
        
        ТекОрганизация = Элемент.ПравоеЗначение;
        
    КонецЕсли;
  
КонецЦикла;  
Показать


не работает, при установленном значении Организации возвращает Неопределено
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. Papilion 04.08.16 03:05 Сейчас в теме
(1) lok78, Вот сам кучу времени потратил пока не подсказали...
СписокЭлементов = КомпоновщикНастроек.ПолучитьНастройки().Отбор.Элементы;
Так возвращает установленные значения.
igor_semen; DENSKR; +2 Ответить
2. Armando 1399 25.05.14 22:54 Сейчас в теме
Может надо искать не в настройках, а в пользовательских настройках?
3. lk78 190 26.05.14 06:39 Сейчас в теме
при пользовательских настройках значение отбора по организации заполнено, но как правильно в этом случае определить нужный вид отбора, "ПредставлениеПользовательскойНастройки" у всех элеменетов пустое, хотя в СКД Представление заполнено
4. kuzyara 1914 26.05.14 09:14 Сейчас в теме
Отрывок из моего отчета, устанавливал параметры программно:
Процедура ОткрытьОтчетПеремещенияНоменклатуры(спНом, спСклад) Экспорт
	
	ФормаОтчета = ПолучитьФорму("Отчет.ПеремещенияНоменклатуры.Форма");
	КомпоновщикНастроек = ФормаОтчета.Отчет.КомпоновщикНастроек;
	Настройки = КомпоновщикНастроек.Настройки;
	
	// для запроса
	ЭлементНастройкиНоменклатура = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Номенклатура"));
	ЭлементНастройкиНоменклатура.Значение = спНом;

	// для СКД
	ПользовательскийПараметрНоменклатура = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[1];
	ПользовательскийПараметрНоменклатура.Значение = спНом;
	
	// для СКД
	ПользовательскийПараметрСклад = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[2];
	ПользовательскийПараметрСклад.ПравоеЗначение = спСклад;
	ПользовательскийПараметрСклад.Использование = спСклад.Количество()>0;
	ПользовательскийПараметрСклад.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
	
	
	ФормаОтчета.Открыть();
	ФормаОтчета.СкомпоноватьРезультат();
	ФормаОтчета.ВариантМодифицирован=Ложь;
КонецПроцедуры
Показать
6. vakrikun 133 19.12.19 08:26 Сейчас в теме
У меня работает вот такой код:

		
Для каждого ЭлементОтбора Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
        Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация") Тогда
		Идентификатор = 	ЭлементОтбора.ИдентификаторПользовательскойНастройки;
		Организация = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(Идентификатор).ПравоеЗначение;
        КонецЕсли;
КонецЦикла;
mi13; mangy; KEV8383; +3 Ответить
7. KEV8383 20 05.03.21 16:32 Сейчас в теме
(6)
Для каждого ЭлементОтбора Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация") Тогда
Идентификатор = ЭлементОтбора.ИдентификаторПользовательскойНастройки;
Организация = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(Идентификатор).ПравоеЗначение;
КонецЕсли;
КонецЦикла;


Спасибо! Работает!
Оставьте свое сообщение

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