Реквизит-Перечисления, как указать не все перечисления?

1. HugeSpace 26.04.24 10:06 Сейчас в теме
Добрый день.
Реквизит ссылается на перечисления, формируя выпадающий список.
Задача, для одного отдела, нужно выбрать не все значения перечисления, а только нужные.
Попытка очистить реквизит и дать ему только нужные перечисления (код ниже) не приносит успеха.
Те, что добавляю, добавляются к уже существующим.
Элементы.РеквизитСтрока.СписокВыбора.Очистить();
Элементы.РеквизитСтрока.СписокВыбора.Добавить("Строка1",Перечисления.Строки.Строка1);
Элементы.РеквизитСтрока.СписокВыбора.Добавить("Строка102",Перечисления.Строки.Строка102);
Найденные решения
2. nomad_irk 76 26.04.24 10:22 Сейчас в теме
(1)режим выбора из списка при этом включен?
HugeSpace; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 76 26.04.24 10:22 Сейчас в теме
(1)режим выбора из списка при этом включен?
HugeSpace; +1 Ответить
3. HugeSpace 26.04.24 11:22 Сейчас в теме
Большое спасибо, был не включен, включил и все заработало.
Может еще подскажите такой вопрос.
Другая задача.
В перечислении около 30видов, нужно скрыть 10 определенных видов для одного отдела, но что бы новые перечисления, которые будут создаваться, отдел видел.
Как можно скрыть не нужные перечисления?
Тут вариант с добавлением нужных не подходит, т.к. тогда постоянно нужно добавлять новые перечисления, когда будут появляться.
4. nomad_irk 76 26.04.24 11:26 Сейчас в теме
(3)при формировании списка пропускайте те, которые пользователи не должны видеть
5. HugeSpace 26.04.24 12:18 Сейчас в теме
Подскажите, а есть вариант если режим выбора из списка выключен? Т.к. там именно этот вариант
6. soft_wind 26.04.24 13:43 Сейчас в теме
есть еще такой вариант
откройте модуль менеджера вашего перечисления, в нем есть обработчик

в нем, например, проверяйте ПараметрыСеанса.ТекущийПользователь
(или у вас есть параметр ТекущийОтдел)
и для него заполняйте список выбора тем что надо, будет работать во всех формах, полях.

пример
Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	ДанныеВыбора = Новый СписокЗначений;
	
	ДанныеВыбора.Добавить(Перечисления.СтатусыЗаказовКлиентов.НеСогласован);
	ДанныеВыбора.Добавить(Перечисления.СтатусыЗаказовКлиентов.КСборке);	//КБ
	
	Если НЕ ПолучитьФункциональнуюОпцию("ИспользоватьПострочнуюОтгрузкуВЗаказеКлиента") Тогда
		ДанныеВыбора.Добавить(Перечисления.СтатусыЗаказовКлиентов.КОбеспечению, НСтр("ru='В резерве'"));
		ДанныеВыбора.Добавить(Перечисления.СтатусыЗаказовКлиентов.КОтгрузке);
	Иначе
		ДанныеВыбора.Добавить(Перечисления.СтатусыЗаказовКлиентов.КОбеспечению, НСтр("ru='К выполнению'"));
	КонецЕсли;
	
	Если ПолучитьФункциональнуюОпцию("НеЗакрыватьЗаказыКлиентовБезПолнойОплаты")
		ИЛИ ПолучитьФункциональнуюОпцию("НеЗакрыватьЗаказыКлиентовБезПолнойОтгрузки") Тогда
		ДанныеВыбора.Добавить(Перечисления.СтатусыЗаказовКлиентов.Закрыт);
	КонецЕсли;
	
КонецПроцедуры
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот