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

УФ. Поле переключателя. Запретить выбор значения

УФ. Поле переключателя. Запретить выбор значения
Я
   SeiOkami
 
06.08.20 - 16:44
Добрый день!

Есть у меня на управляемой форме поле переключателя. На нём несколько значений. Могу ли я программно одно из значений сделать недоступным к выбору? Не удалять из списка доступных значений, а именно сделать недоступным? Чтобы значение не пропадало с формы, а становилось сереньким и не доступным к выбору.
   Fedor-1971
 
1 - 06.08.20 - 16:57
(0) в ПриСозданииНаСервере поиграйся с ДоступныеЗначения у поля ввода

Как вариант: добавь к Представлению списка выбора поле "Запрещено" или запиши туда "-" или пробел (это для красоты)

Добавь событие ОбработкаВыбора() и там проверяй что выбрано и пиши своё сообщение, значение в поле пока не изменено
   spiller26
 
2 - 06.08.20 - 17:00
(0) Зачем тогда  пользователю показывать что значение есть?
   Fedor-1971
 
3 - 06.08.20 - 17:04
(2) мало ли, а если стаусы Контрагента определены как "хороший, нормальный, плохой, Запрещена работа" и последний могут устанавливать только люди с определённой ролью

Простой пользователь видит "Запрещена работа", но поставить это значение не может, а вот хороший - сколько душе угодно (чисто пример)
   SeiOkami
 
4 - 06.08.20 - 17:04
(2), пользователь изначально видит значение. Но, когда выбирает исключающее значение в другом поле, то в этом оно должно стать недоступным. Но не пропасть
   SeiOkami
 
5 - 06.08.20 - 17:07
(1), выходит, что нельзя никак установить именно доступность значения? Или хотя бы визуально сделать тоже самое. Например, у недоступного значения установить цвет текста сероватым. Надпись "Запрещено" как-то стрёмно ...
   Fedor-1971
 
6 - 06.08.20 - 17:12
(4) Тебе же написали пробуй играться с ДоступныеЗначения (я точно не уверен работают они ка Доступность или прячут лишние значения) или переделай на Поле ввода со списком значений, при выборе исключающего значения, просто удаляй ненужное из списка, при этом в поле ввода останется старое значение

Подобную логику строят через предупреждение пользователя, типа "В поле ... указано недопустимое значение" на зависимых полях
   Kesim
 
7 - 06.08.20 - 17:16
(0) Рисуй кнопки - управляй доступностью.
   SeiOkami
 
8 - 06.08.20 - 17:22
(6), нет ДоступныеЗначения, есть только СписокВыбора. А у списка выбора ДоступныеЗначения - Неопределено.
Ну мне и не нужно поле ввода - нужен переключатель.
   SeiOkami
 
9 - 06.08.20 - 17:22
(7), походу других вариантов нет...
   Fedor-1971
 
10 - 06.08.20 - 17:26
(8) в ДоступныеЗначения запиши урезанный список выбора, отдельные поля успеешь сделать
   spiller26
 
11 - 06.08.20 - 17:50
(9) Но откровенно белеберда, пользователь может выбрать, но в поле сбрасывается значение.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    СпЗн = Новый СписокЗначений;
    СпЗн.Добавить("Значение1");
    СпЗн.Добавить("Значение4");
    Элементы.Поле1.СписокВыбора.Добавить("Значение1", "№1");
    Элементы.Поле1.СписокВыбора.Добавить("Значение2", "№2");
    Элементы.Поле1.СписокВыбора.Добавить("Значение3", "№3");
    Элементы.Поле1.СписокВыбора.Добавить("Значение4", "№4");
    Элементы.Поле1.СписокВыбора.ДоступныеЗначения = СпЗн;
    
КонецПроцедуры
   lodger
 
12 - 06.08.20 - 17:59
(11) ты просто СП не читал.
ну хотя б вот https://www.about1c.ru/v83/language-reference/collections/value-list/available-values
   spiller26
 
13 - 06.08.20 - 18:01
(12) Представь себе читал
   Вафель
 
14 - 06.08.20 - 19:42
те одно значение не доступно.
А если оно выбрано?
Юзер может выбрать другое но назад уже не вернет
   SeiOkami
 
15 - 07.08.20 - 10:33
(11), да, не очень красиво выходит. И недоступные значения в переключателе выглядят точно так же как и доступные. Просто при их включении всё сбрасывается на пустоту ))
   SeiOkami
 
16 - 07.08.20 - 10:36
Пока придумал самый простой вариант - вынести недоступное значение отдельным недоступным полем. Выглядеть оно будет точно так же, как один из пунктов переключателя. Показывать я его буду только тогда, когда нужно запретить выбор значения. А из списка выбора это значение буду удалять. Для пользователя визуально выглядит как нужно. В коде не сильно много костылей
   SeiOkami
 
17 - 07.08.20 - 14:13
Кстати, интересное поведение. ДоступныеЗначения очищаются сразу после возвращения с сервера на клиент. Элемент ведёт себя так, будто ДоступныеЗначения установлены, но программно их не видно.

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