Имя: Пароль:
1C
1С v8
Передача параметров в запрос для динамического списка
0 21stas
 
27.08.19
08:53
Сделал динамический список в форме элемента справочника:
http://joxi.ru/a2XYVRkUw3vapA

Источником данных для него сделал произвольный запрос:
ВЫБРАТЬ
    ПодключенныеИССрезПоследних.КИС КАК КИС,
    ПодключенныеИССрезПоследних.Период КАК Период
ИЗ
    РегистрСведений.ПодключенныеИС.СрезПоследних КАК ПодключенныеИССрезПоследних
ГДЕ
    ПодключенныеИССрезПоследних.Событие <> Значение(Перечисление.События.Отключить)
    И ПодключенныеИССрезПоследних.Пользователь = &Пользователь

Как передать &Пользователь в этот запрос, если &Пользователь - это и есть элемент справочника, форма которого открывается?

Я сделал вот так:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    ПодключенныеИС.Параметры.УстановитьЗначениеПараметра("Пользователь", Объект.Ссылка);
КонецПроцедуры

1С говорит, что не задано значение параметра.
1 Василий Алибабаевич
 
27.08.19
09:10
(0) Как то все не так.
1. Фильтр к виртуальной таблице установлен не по феншую.
2. Фильтр по большому счету не нужен. Нужен отбор. (Потом этот отбор система сможет использовать при вводе новых данных)
2 kuzyara
 
27.08.19
09:35
(1) +1
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); // здесь Список - ваше название Списка, возможно он называется Контакты?
     ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Владелец");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементОтбора.Использование = Истина;
    ЭлементОтбора.ПравоеЗначение = Объект.Наименование;
3 Ns33
 
27.08.19
10:51
(0) Параметр устанавливаешь правильно, убедись отладчиком что заходит в ПриСозданииНаСервере.
4 21stas
 
27.08.19
12:47
Спасибо.
(3) Действительно не заходило в процедуру.
(1), (2) Сделал отбор.

Код для отбора получился таким:
    ЭлементОтбора = ПодключенныеИС.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

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