Автор: Alex78 21.11.17, 13:05
Доброго времени суток.
Платформа 8.3.10.2252. Конфигурация - УТ 3.1.5.1 для Украины (на УФ).
Есть документ, у него есть реквизит ПроцентСкидки. Соответствующий элемент формы - поле переключателя. Задача следующая - исходя из некоторых условий некоторые значения переключателя сделать недоступными.
Попытка № 1:
&НаКлиенте
Процедура qwerty()
МассивДостЗнач=Новый Массив;
// заполнение массива
// .............................
//заполнение массива
ЭтаФорма.Элементы.ПроцентСкидки.СписокВыбора.ДоступныеЗначения.ЗагрузитьЗначения(СпДоступныеЗначения);
КонецПроцедуры
Выдается сообщение "Значение не является значением объектного типа (ЗагрузитьЗначения)".
Попытка № 2:
&НаСервереБезКонтекста
Процедура qwertyServ(СпВыбора)
МассивДостЗнач=Новый Массив;
// заполнение массива
// .............................
//заполнение массива
СпВыбора.ДоступныеЗначения.ЗагрузитьЗначения(СпДоступныеЗначения);
КонецПроцедуры
&НаКлиенте
Процедура qwerty()
qwertyServ(ЭтаФорма.Элементы.ПроцентСкидки.СписокВыбора);
КонецПроцедуры
Результат - тот же.
Пардон за оформление, что-то намутил.
! |
| http://pro1c.org.ua/index.php?act=announce&id=2: 3,4,9
|
Автор: logist 21.11.17, 13:37
Цитата(Alex78 @ 21.11.17, 13:05)
Пардон за оформление, что-то намутил.
Пардон не засчитан, читайте правила, в следующий раз подобное будет удаляться.
У поля переключателя Список выбора - это и есть список доступных переключателей, в управляемых формах нельзя управлять доступностью отдельных кнопок переключателя. Поэтому заполняя список выбора его уже надо только доступными значениями. Если хотите что бы в переключателе были видны все, тогда проверяйте доступность ПриИзменении.
Автор: Petre 21.11.17, 13:44
Alex78 @ Сегодня, 13:05
,
Цитата
Описание:
Тип: СписокЗначений; Неопределено.
У
Неопределено нет метода
ЗагрузитьЗначения.
Автор: Alex78 21.11.17, 15:40
Petre, да, Вы правы, но я по-всякому пробовал, в т.ч.
Сп.Добавить(0);
Сп.Добавить(3);
ЭтаФорма.Элементы.ПроцентСкидки.СписокВыбора.ДоступныеЗначения=Сп;
в таком случае ругани нет, но ничего не меняется. Оказывается, всё просто, спасибо Логисту, открыл глаза - в УФ просто-напросто нельзя такое реализовать, ларчик просто открывался ..
Всем спасибо за обсуждение.
Автор: bnik 14.03.19, 13:37
Цитата(Alex78 @ 21.11.17, 23:40)
Petre, да, Вы правы, но я по-всякому пробовал, в т.ч.
Сп.Добавить(0);
Сп.Добавить(3);
ЭтаФорма.Элементы.ПроцентСкидки.СписокВыбора.ДоступныеЗначения=Сп;
в таком случае ругани нет, но ничего не меняется. Оказывается, всё просто, спасибо Логисту, открыл глаза - в УФ просто-напросто нельзя такое реализовать, ларчик просто открывался ..
Всем спасибо за обсуждение.
я убирал кнопки, какие требуются устанавливаются следующим образом
МассивДостЗнач = Новый Массив;
МассивДостЗнач.Вставить(0,"Мои");
МассивДостЗнач.Вставить(1,"Введены мной");
МассивДостЗнач.Вставить(2,"Моего подразделения");
Элементы.Принадлежность.СписокВыбора.ЗагрузитьЗначения(МассивДостЗнач);
+
путькданный переменная типа строка,
Если наименование и представления не совпадают, то дополнительно нужно обрабатывать не только по значению, но и по представлению.
(к примеру у меня одно из значений: "МоегоПодразделения", к нему представление "Моего подразделения" в списке выбора обозначено)