Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как сделать недоступными некоторые значения переключателя?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
Alex78
Доброго времени суток.
Платформа 8.3.10.2252. Конфигурация - УТ 3.1.5.1 для Украины (на УФ).
Есть документ, у него есть реквизит ПроцентСкидки. Соответствующий элемент формы - поле переключателя. Задача следующая - исходя из некоторых условий некоторые значения переключателя сделать недоступными.
Попытка № 1:

&НаКлиенте
Процедура qwerty()
МассивДостЗнач=Новый Массив;
// заполнение массива
// .............................
//заполнение массива
ЭтаФорма.Элементы.ПроцентСкидки.СписокВыбора.ДоступныеЗначения.ЗагрузитьЗначения(СпДоступныеЗначения);
КонецПроцедуры


Выдается сообщение "Значение не является значением объектного типа (ЗагрузитьЗначения)".

Попытка № 2:

&НаСервереБезКонтекста
Процедура qwertyServ(СпВыбора)
МассивДостЗнач=Новый Массив;
// заполнение массива
// .............................
//заполнение массива
СпВыбора.ДоступныеЗначения.ЗагрузитьЗначения(СпДоступныеЗначения);
КонецПроцедуры

&НаКлиенте
Процедура qwerty()
qwertyServ(ЭтаФорма.Элементы.ПроцентСкидки.СписокВыбора);
КонецПроцедуры


Результат - тот же.


Пардон за оформление, что-то намутил.

 ! 

необходимо зарегистрироваться для просмотра ссылки: 3,4,9
 
logist
Цитата(Alex78 @ 21.11.17, 13:05) необходимо зарегистрироваться для просмотра ссылки
Пардон за оформление, что-то намутил.

Пардон не засчитан, читайте правила, в следующий раз подобное будет удаляться.

У поля переключателя Список выбора - это и есть список доступных переключателей, в управляемых формах нельзя управлять доступностью отдельных кнопок переключателя. Поэтому заполняя список выбора его уже надо только доступными значениями. Если хотите что бы в переключателе были видны все, тогда проверяйте доступность ПриИзменении.
Petre
Alex78 @ Сегодня, 13:05 необходимо зарегистрироваться для просмотра ссылки ,
Цитата
Описание:

Тип: СписокЗначений; Неопределено.

У Неопределено нет метода ЗагрузитьЗначения.
Alex78
Petre, да, Вы правы, но я по-всякому пробовал, в т.ч.
Сп.Добавить(0);
Сп.Добавить(3);
ЭтаФорма.Элементы.ПроцентСкидки.СписокВыбора.ДоступныеЗначения=Сп;


в таком случае ругани нет, но ничего не меняется. Оказывается, всё просто, спасибо Логисту, открыл глаза - в УФ просто-напросто нельзя такое реализовать, ларчик просто открывался ..


Всем спасибо за обсуждение.
bnik
Цитата(Alex78 @ 21.11.17, 23:40) необходимо зарегистрироваться для просмотра ссылки
Petre, да, Вы правы, но я по-всякому пробовал, в т.ч.
Сп.Добавить(0);
Сп.Добавить(3);
ЭтаФорма.Элементы.ПроцентСкидки.СписокВыбора.ДоступныеЗначения=Сп;


в таком случае ругани нет, но ничего не меняется. Оказывается, всё просто, спасибо Логисту, открыл глаза - в УФ просто-напросто нельзя такое реализовать, ларчик просто открывался ..
Всем спасибо за обсуждение.


я убирал кнопки, какие требуются устанавливаются следующим образом

МассивДостЗнач = Новый Массив;
МассивДостЗнач.Вставить(0,"Мои");
МассивДостЗнач.Вставить(1,"Введены мной");        
МассивДостЗнач.Вставить(2,"Моего подразделения");

Элементы.Принадлежность.СписокВыбора.ЗагрузитьЗначения(МассивДостЗнач);

+
путькданный переменная типа строка,
Если наименование и представления не совпадают, то дополнительно нужно обрабатывать не только по значению, но и по представлению.
(к примеру у меня одно из значений: "МоегоПодразделения", к нему представление "Моего подразделения" в списке выбора обозначено)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.