Имя: Пароль:
1C
1С v8
Видимость элементов по условию в форме списка справочника
0 DenYuliya
 
19.06.19
17:37
Привет всем.
Подскажите, плиз, что-то не могу понять, что делать.
По-сути, мне надо сделать отбор в форме списка и отображать только то, что отобрано (для определенных ролей пользователей при открытии формы списка).

Сделала так:

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

Отбор работает, но легко отключается стандартным снятием отбора. Возможно ли как-то запретить отключение отбора?

А мне надо что-то подобное:

Если ЭлементСписка.ВидДокумента = "XXX" Тогда
Видимость = Истина;
Доступность = Истина;
КонецЕсли;


Нагуглила некое "ИспользоватьСписокЭлементы", но мой СП о таком не знает.
Версия 1С:Предприятие 8.3 (8.3.13.1644) , обычные формы.

Большое спасибо всем, кто сможет подсказать.
1 Вафель
 
19.06.19
17:39
есть еще настройкиотбора
2 Жан Пердежон
 
19.06.19
18:08
RLS делай, остальное УГ
3 DenYuliya
 
20.06.19
09:31
(2) я тоже так считаю, но увы - "политика партии" - не применять RLS
4 DenYuliya
 
20.06.19
09:33
(1) если я правильно понимаю, о чем речь (о пользовательских настройках?), то настройки отбора тоже можно сбросить интерактивно?
Собственно, суть задачи в том, чтобы запретить пользователю видеть все элементы справочника, кроме одного (но не факт, что их не станет в ближайшем будущем 2-3-5)
5 DenYuliya
 
20.06.19
10:37
(1) Большое спасибо, помогло!
К тому, что было ранее, добавила:

ЭлементыФормы.СправочникСписок.НастройкаОтбора.ВидДокумента.ДОступность = Ложь;        

В итоге выглядит так:

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