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