Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Можно ли установить отбор в форме списка справочника через подписку на событие?

Можно ли установить отбор в форме списка справочника через подписку на событие?
Я
   altaykniga
 
28.04.18 - 12:58
Доброго дня, уважаемые специалисты. Прошу подсказки умных людей

При открытии формы списка справочника необходимо устанавливать отбор (отображать только те элементы, код которых начинается с префикса данной ИБ)

В модуле формы написал такой код:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Если НЕ РольДоступна("АрБус_ОтображениеОбособленныхСправочниковБезУчетаПрефикса") Тогда
        ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Код");
        ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НачинаетсяС;
        ЭлементОтбора.Использование = Истина;
        ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ;
        ЭлементОтбора.ПравоеЗначение = ПолучитьФункциональнуюОпцию("ПрефиксИнформационнойБазы");
    КонецЕсли;
КонецПроцедуры

а можно ли реализовать такой отбор в подписке на событие? Чтобы не изменять форму списка необходимых справочников...
 
 
   Вафель
 
1 - 28.04.18 - 12:59
через расширение можно
   Fragster
 
2 - 28.04.18 - 13:00
в обработке получения формы добивать в параметры отбор. но это не самый хороший способ - прятать поведение из самого очевидного места. И так проблемы с правами, функциональными опциями и прочим, а тут еще отбор неизвестно откуда будет накладываться.
   Buster007
 
3 - 28.04.18 - 13:10
пишется арбуЗ
   altaykniga
 
4 - 28.04.18 - 15:38
(2) а как в ОбработкаПолученияФормы добавить в параметры Отбор?

Если НЕ РольДоступна("АрБус_ОтображениеОбособленныхСправочниковБезУчетаПрефикса") Тогда
        ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Код");
        ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НачинаетсяС;
        ЭлементОтбора.Использование = Истина;
        ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ;
        ЭлементОтбора.ПравоеЗначение = ПолучитьФункциональнуюОпцию("ПрефиксИнформационнойБазы");
    КонецЕсли;

что написать вместо 
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
   altaykniga
 
5 - 28.04.18 - 15:39
как из подписки на событие обратиться к реквизиту формы "Список" ?
   cons74
 
6 - 28.04.18 - 15:44
(1) самый правильный вариант. Берешь в расширение форму и делешь с ней в расширении что хочешь.
   Fragster
 
7 - 28.04.18 - 16:06
(4) там в параметрах есть параметр Параметры, в котором можно добавить отбор, подробнее в СП по словам "расширение управляемой формы динамического списка"
(5) не надо тебе к нему получать доступ
   Вафель
 
8 - 28.04.18 - 16:07
(7) в параметр отбор можно только отбор на равно передать
   altaykniga
 
9 - 28.04.18 - 16:18
(8) вот, а мне надо "НачинаетсяС"
   Вафель
 
10 - 28.04.18 - 16:37
если у тебя ерп/ут11 то есть процедура Модификация.ПриСозданииНаСервере
 
 Рекламное место пустует
   Fragster
 
11 - 28.04.18 - 16:54
(8) ну тогда передавай в фиксированные настройки
   Fragster
 
12 - 28.04.18 - 16:54
или в пользоватлеьские

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует