Имя: Пароль:
1C
1С v8
Выполнить ОТБОР для ДанныеФормыЭлементКоллекции
,
0 phaz
 
23.09.15
14:41
Добрый день!

Создал регистр сведений для хранения данных об аттестации сотрудников. Добавил форму набора записей, где соответственно среди реквизитов формы имеется реквизит "НаборЗаписей" с типом "РегистрСведенийНаборЗаписей". При попытке наложения отбора по сотруднику в процедуре "При открыти" ничего не происходит. Код такой:

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    НаборЗаписей.Отбор.Сотрудник.Значение = Параметры.Сотрудник;
    НаборЗаписей.Отбор.Сотрудник.Использование = Истина;
    НаборЗаписей.Отбор.Сотрудник.ВидСравнения = ВидСравнения.Равно;
КонецПроцедуры

Что самое интересное в отладчике реквизит "НаборЗаписей" имеет тип "ДанныеФормыСтруктураСКоллекцией", а в справке свойство "Отбор" у этого типа данных вообще не описано.

Если кто делал помогите разобраться...
1 phaz
 
23.09.15
14:47
(0) Прошу прощения в заголовке ошибка Не "ДанныеФормыЭлементыКоллекции", а "ДанныеФормыСтруктураСКоллекцией".
2 Mort
 
23.09.15
15:10
А толку от этого отбора? Данные формы читать данные все равно не умеют. Создавай набор записей, читай его и помещай в набор через ЗначениеВРеквизитФормы.

И в ПриЧтенииНаСервере, конечно, а не ПриОткрытии.
3 Mort
 
23.09.15
15:11
*помещай в данные на форме
4 Гёдза
 
23.09.15
15:21
ПриСозданииНаСервре()

Параметры.Вставить("Отбор", Новый Структура("Сотрудник", Параметры.Сотрудник));
5 phaz
 
23.09.15
16:12
(2) Я в итоге так и сделал, просто наверное правильнее пользоваться инструментарием отбора т.к. это меньше нагружает систему (меньше чтений/записей)
6 phaz
 
23.09.15
16:15
(4) К сожалению не работает:

{РегистрСведений.У_АттестацияСотрудников.Форма.Форма.Форма(65)}: Метод объекта не обнаружен (Вставить)
    Параметры.Вставить("Отбор", Новый Структура("Сотрудник", Параметры.Сотрудник));
7 phaz
 
23.09.15
16:23
(4) Если изменить ваш код на:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Параметры.Отбор = Новый Структура("Сотрудник", Параметры.Сотрудник);
КонецПроцедуры

то ошибки нет, но отбор не срабатывает...