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



УФ. СКД. Недоступность отдельного отбора пользователю. Как?

УФ. СКД. Недоступность отдельного отбора пользователю. Как?
Я
   bolobol
 
07.11.18 - 09:55
День добрый!

Есть на УФорме динамический список. Устанавливаю в нём отбор программно, необходимо, чтобы пользователь не мог изменить его, однако, в настройке списка этот отбор доступен.

Подскажите, пожалуйста, как сделать недоступный пользователю отбор?

Делаю доступный пользователю отбор так:

КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение= ...
Отбор.ВидСравнения= ...
Отбор.Использование= ...
Отбор.ПравоеЗначение= ...
 
 
   Fragster
 
1 - 07.11.18 - 10:15
Надо манипулировать пользовательскими настройками с режимом отображения "недоступный" РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный (DataCompositionSettingsItemViewMode.Inaccessible)
РежимОтображенияЭлементаНастройкиКомпоновкиДанных (DataCompositionSettingsItemViewMode)
Недоступный (Inaccessible)
Описание:

Этот элемент настройки не предназначен для изменения в составе пользовательской настройки.
   bolobol
 
2 - 07.11.18 - 10:15
Более того, этот код не работает вообще, если пользователь назначит свой отбор или изменит этот
   toypaul
 
3 - 07.11.18 - 10:20
фиксированные настройки
   toypaul
 
4 - 07.11.18 - 10:21
"Более того, этот код не работает вообще, если пользователь назначит свой отбор" отбор не может "не работать" если только его не отключат.
   Fragster
 
5 - 07.11.18 - 10:22
(3) фиксированные норм пока пользователь не установит отбор на то же поле, что и в фиксированных настройках. Сколько уже копий на партнерском сломано, чтобы там была сумма отборов, но воз и ныне там.
   Fragster
 
6 - 07.11.18 - 10:22
(4) может
   toypaul
 
7 - 07.11.18 - 10:24
(5) мде? то есть добавленный пользователем отбор по тому же полю заменяет отбор из фиксированных настроек?

а отбор из пользовательских настроек не заменяет?
   bolobol
 
8 - 07.11.18 - 10:27
Т.е. - использовать:
КомпоновщикНастроек.ПОЛЬЗОВАТЕЛЬСКИЕнастройки... надо?
   bolobol
 
9 - 07.11.18 - 10:41
Хотя, хватило и просто добавления в код (0) строки:

Отбор.РежимОтображения=    РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;

Хоть СП говорит совсем о другом применении данного.

Однако, у пользователя осталась возможность напридумать свой отбор, который бы запретить ему делать. Это возможно?
   Fragster
 
10 - 07.11.18 - 10:43
(9) ну прокликай галочки "включать в пользовательские настройки" в настройках ДС
 
 Рекламное место пустует
   Fragster
 
11 - 07.11.18 - 10:43
но пользователь должен мочь добавлять свои отборы, имхо
   bolobol
 
12 - 07.11.18 - 10:50
Вот он их и добавил - не убрать теперь
   Fragster
 
13 - 07.11.18 - 10:55
(12) пользователь добавил - пусть пользователь и убирает. тем более, что они у него прям на форму должны вывестись.
   bolobol
 
14 - 07.11.18 - 11:01
Ага! Смешно))
   bolobol
 
15 - 07.11.18 - 11:17
ПользовательскоеПоле= КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[0].ДоступныеПоляОтбора.Элементы.Найти(ИмяПоля);
    Если ПользовательскоеПоле <> Неопределено Тогда
        КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[0].ДоступныеПоляОтбора.Элементы.Удалить(ПользовательскоеПоле);
    КонецЕсли;

- не работает так...
   Fragster
 
16 - 07.11.18 - 11:32
(15) думай, болобол, думай!
   bolobol
 
17 - 07.11.18 - 11:52
(16) Тут "думать" не поможет. Тут инструкция нужна.
   bolobol
 
18 - 07.11.18 - 11:53
Угадать мюсли разрабов 1С - тот ещё квест
   bolobol
 
19 - 07.11.18 - 12:56
Апну вопросец.
Как из доступных пользователю полей отбора удалить поле?
   Ns33
 
20 - 07.11.18 - 14:21
В при открытии формы проверяешь на пользователя и:

поле=СхемаКомпоновкиДанных.НаборыДанных.НаборДанных1.ПОля.НАйти(Новый ПолеКомпоновкиДанных("Контрагент"));
    поле.ОграничениеИспользования.Условие=Истина;
    поле.ОграничениеИспользованияРеквизитов.Условие=Истина;
    
    КомпоновщикНастроек.Инициализировать( Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));


В отборе, даже если он был выведен, стоит красный крест и пользоваться им нельзя.
   bolobol
 
21 - 07.11.18 - 15:25
А у Динамического списка - как выйти на Поля?
   Ns33
 
22 - 07.11.18 - 16:19
Мас=Новый Массив;
Мас.Добавить("Контрагент");
    
ДС.УстановитьОграниченияИспользованияВОтборе(Мас);
   bolobol
 
23 - 07.11.18 - 17:55
Супер! Спасибо!!!!


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