Имя: Пароль:
1C
 
УФ. СКД. Недоступность отдельного отбора пользователю. Как?
,
0 bolobol
 
07.11.18
09:55
День добрый!

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

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

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

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

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

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

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

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

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

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

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


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