Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Как скрыть некоторые значения перечисления из списка выбора в реквизите формы (Управляемы формы)          
AnryMc Подменю пользователя
сообщение 27.03.24, 14:57
Сообщение #1

Оратор
Иконка группы
Группа: Местный
Сообщений: 335
Спасибо сказали: 96 раз
Рейтинг: 97.6

ДАНО:
Есть Перечисление АААААА со значениями:
- Значение 1
- Значение 2
- Значение 3
- Значение 4
- Значение 5

На форме есть реквизит (поле выбора) с данными - Перечисление ААААА

ЗАДАЧА: Показать пользователю в списке выбора только значения:
- Значение 1
- Значение 3
- Значение 5

ВОПРОС: Как это можно реализовать?

P.S.
Код:
НужныйСписок = НОВЫЙ СписокЗначений;
НужныйСписок.Добавить(Перечисления.ААААА.Значение1);
НужныйСписок.Добавить(Перечисления.ААААА.Значение3);
НужныйСписок.Добавить(Перечисления.ААААА.Значение5);

//ВЫРИАНТ 1
//Остается "первоначальный" список и добавляется "новый"
//Получается такой:
//- Значение 1
//- Значение 2
//- Значение 3
//- Значение 4
//- Значение 5
//- Значение 1
//- Значение 3
//- Значение 5

Элементы.МойРеквизит.СписокВыбора.Очистить();
Элементы.МойРеквизит.СписокВыбора.Добавить(НужныйСписок );

//ИЛИ
//ВАРИАНТ 2
//РАБОТАЕТ ТОЛЬКО НА ТОЛСТОМ КЛИЕНТЕ

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

alex-l1904 Подменю пользователя
сообщение 27.03.24, 15:45
Сообщение #2

Говорящий
***
Группа: Пользователи
Сообщений: 67
Спасибо сказали: 11 раз
Рейтинг: 11

AnryMc @ Сегодня, 15:57 * ,

треба на потрібному полі форми зробити обробник НачалоВыбора

там треба

СтандартнаяОбработка = Ложь;


далі формуєте список значень і потім

ВыбранноеЗначение = ВыбратьИзСписка(спВыбора, Элемент);

Спасибо сказали: AnryMc,

AnryMc Подменю пользователя
сообщение 27.03.24, 16:58
Сообщение #3

Оратор
Иконка группы
Группа: Местный
Сообщений: 335
Спасибо сказали: 96 раз
Рейтинг: 97.6

Цитата(alex-l1904 @ 27.03.24, 16:45) *
обробник НачалоВыбора


Спасибо.

Об этом не подумал.

З,Ы, Сделал. Получилось

Цитата(AnryMc @ 27.03.24, 17:24) *
З,Ы, Сделал. Получилось



Правда через ЖЖЖЖЖЖ:

т.к. ВыбранноеЗначение = ВыбратьИзСписка(спВыбора, Элемент); //это Значение перичесления НаКлиенте

то пришлось передать на сервер
&НаСервере
Процедура УстановитьНужноеЗначение(текЗначение = НЕОПРЕДЕЛЕНО)
    
    Если текЗначение <> НЕОПРЕДЕЛЕНО Тогда
        
        Существующие = Метаданные.Перечисления.МОЕПЕРЕЧИСЛЕНИЕ.ЗначенияПеречисления;
        
        Для КАЖДОГО текЗн ИЗ Существующие Цикл
            
            Если СокрЛП(текЗн.Синоним) = текЗначение Тогда
                
                Объект.МОЙРЕКВИЗИТ= Вычислить("Перечисления.МОЕПЕРЕЧИСЛЕНИЕ."+текЗначение .Имя);
                
                Прервать;
                
            КонецЕсли;
            
        КонецЦикла;
        
    КонецЕсли;
    
КонецПроцедуры

alexxbely Подменю пользователя
сообщение 28.03.24, 11:06
Сообщение #4

Общительный
**
Группа: Пользователи
Сообщений: 12
Спасибо сказали: 2 раз
Рейтинг: 2

AnryMc @ Вчера, 15:57 * ,
Я б в палітрі властивостей елемента форми встановив прапорець "РежимВыбораИзСписка" и в полі "СписокВыбора" обрав тільки ті значення, що потрібні

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 27.04.24, 10:37
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!