Имя: Пароль:
1C
 
Убрать видимость со значения перечисления
0 NIGHTHUNTER
 
12.07.22
03:11
У документа, есть реквизит, у которого несколько значений перечисления для выбора.
Можно ли сделать некоторые из них невидимыми7 Убрать видимость?
То есть есть реквизит типа перечисление, как сделать что бы из 5 остались доступными для выбора 3?
А 2 пропали из списка?
Но остались, выбранными в старых документах если такое было.
На новые, оказались бы не доступными для выбора. и пропали из списка.
1 NIGHTHUNTER
 
12.07.22
04:29
Можно как то тут использовать список выбора?
Я уже внес туда 3 необходимых значения.
2 NIGHTHUNTER
 
12.07.22
04:32
Как понял значений при выборе в поле перечисление , стало на три больше (((
3 NIGHTHUNTER
 
12.07.22
04:39
Поставил галку, режим выбора из списка.
Но у старых документов, почему то пропали, те значения. Которые я не внес в этот список.
5 вым
 
12.07.22
05:50
тип реквизита оставь прежним как был, а при выборе перехватывай событие и обрабатывай сам, заполняй список выбора программно своими значениями
6 NIGHTHUNTER
 
12.07.22
07:16
(5) А так как я сделал, не подойдет?
Это вроде как тоже самое, только с применением свойств реквизита формы.
7 вым
 
12.07.22
07:38
(6) ничего не смущает? -> (3)

а так ты оставляешь доступными для показа все значения,  для выбора только свои 3
8 NIGHTHUNTER
 
12.07.22
08:04
(7) Согласен. Так и понял. А сейчас, эти (3) они пропали совсем?
9 NIGHTHUNTER
 
12.07.22
08:05
(7) А есть пример которым можно воспользоваться, для заполнения этого списка?
10 NIGHTHUNTER
 
12.07.22
08:08
(8) Я в тестовой делаю, сейчас проверю.
А по заполнению списка ищу пример.
Подскажите если есть под рукой, чем можно воспользоваться. Пожалуйста. Спасибо!
11 NIGHTHUNTER
 
12.07.22
08:19
(5) Это же при создании на сервере нужно заполнять?
12 Caber
 
12.07.22
08:23
Я такое видел в какой то конфе. Удивило то,что доступные значения перечисления устанавливаются не в форме, в списке выбора поля, а в реквизите объекта метаданных. Повторить потом не смог, сколько не пытался - жаль не сохранил образец конфы
13 NIGHTHUNTER
 
12.07.22
08:33
(12) Я вот пробую, в процедуре при создании на сервере, нашел пример, -

    Элементы.ХХХ_ВидДокумента.СписокВыбора.Очистить();
    Элементы.ХХХ_ВидДокумента.КнопкаВыпадающегоСписка = Истина;    
    Элементы.ХХХ_ВидДокумента.СписокВыбора.Добавить(Перечисления.ХХХ_ВидДокументаВнутреннегоПеремещения.ЭтапПроизводства_НарядЗадание);
    Элементы.ХХХ_ВидДокумента.СписокВыбора.Добавить(Перечисления.ХХХ_ВидДокументаВнутреннегоПеремещения.ЗаказКлиента_ЗаказДавальца);
    Элементы.ХХХ_ВидДокумента.СписокВыбора.Добавить(Перечисления.ХХХ_ВидДокументаВнутреннегоПеремещения.РеестрКомандировок);
КонецПроцедуры
//
14 NIGHTHUNTER
 
12.07.22
08:42
(13) Я сделал так, предварительно очистив в свойствах элемента формы, что добавлял.
Но при открытии там, все добавилось к уже существующему.

http://joxi.ru/brRqd8GiBRvolA
15 NIGHTHUNTER
 
12.07.22
08:51
Если я делаю так (13) , и поставил галку у элемента формы использовать список выбора, то работает, так же как и если бы я это делал в конфигураторе.
Есть и добавленные значения. но у старых значения нет, как я писал в (3), как нужно это правильно сделать?
16 NIGHTHUNTER
 
12.07.22
08:52
(5) при выборе это где?
17 Мультук
 
гуру
12.07.22
09:07
(13)

    Элементы.ХХХ_ВидДокумента.СписокВыбора.Добавить(Перечисления.ХХХ_ВидДокументаВнутреннегоПеремещения.РеестрКомандировок);
КонецПроцедуры

Если на "КонецПроцедуры" поставить точку останова и посмотреть в отладчике на Элементы.ХХХ_ВидДокумента.СписокВыбора -- там три значения?

Если "Да" -- тогда ищем в коде место, где программно насовывается еще.
18 Fedor-1971
 
12.07.22
09:12
(13) СтандартнаяОбработка = Ложь; - не даст системе добавить все оставшиеся значения в список
19 NIGHTHUNTER
 
12.07.22
09:20
видимо нужно так

режим выбора из списка галка не стоит

и

//
&НаКлиенте
Процедура ХХХ_ВидДокументаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    СписокФОП = Новый СписокЗначений;
    СписокФОП.Добавить(ПредопределенноеЗначение("Перечисление.ХХХ_ВидДокументаВнутреннегоПеремещения.ЭтапПроизводства_НарядЗадание"));
    СписокФОП.Добавить(ПредопределенноеЗначение("Перечисление.ХХХ_ВидДокументаВнутреннегоПеремещения.ЗаказКлиента_ЗаказДавальца"));
    СписокФОП.Добавить(ПредопределенноеЗначение("Перечисление.ХХХ_ВидДокументаВнутреннегоПеремещения.РеестрКомандировок"));
    ДанныеВыбора = СписокФОП;
КонецПроцедуры
// <-
20 Fedor-1971
 
12.07.22
09:24
(19) В общем да, только запрети в поле вводить текст, иначе можно будет выбрать значение не из списка
21 dali
 
12.07.22
09:40
В модуле менеджера перечисления ОбработкаПолученияДанныхВыбора
22 Caber
 
12.07.22
09:45
(21) Красавчик! Вот у меня это скорее всего и было.
23 вым
 
12.07.22
10:00
(21) это еще перечисление корежить, а не дай бог обновится что-то, не уследишь
(19) чем не рабочее решение
24 dali
 
12.07.22
10:13
(23) А если это перечисление используется в нескольких документах, везде будешь прописывать?
25 вым
 
12.07.22
10:17
(24) естественно все зависит от задачи, а то вдруг нужно в одной форме документа да еще расширением
26 Fedor-1971
 
12.07.22
10:20
(24) тут палка о двух концах:
- либо реализовывать логику точечно в форме (просто и сама система не напрягается)
- либо реализовывать универсально в модуле менеджера (утяжеление работы системы с риском что-то упустить и получить геморрой)
27 dali
 
12.07.22
10:30
Здесь тоже можно расширением
28 dali
 
12.07.22
10:31
(27)+ Не уверен, надо попробовать
29 youalex
 
12.07.22
10:32
Если для отдельного поля - ПараметрыВыбора (в Параметр выбора можно запихать Фиксированный массив)
Если в целом для конфы - (21)
30 Elf_80_lvl
 
12.07.22
10:42
СписокФОП.Добавить(ПредопределенноеЗначение("Перечисление.ХХХ_ВидДокументаВнутреннегоПеремещения.РеестрКомандировок"));

Потом в обработке выбора
СтандартнаяОбработка = Ложь;
НужноеЗначение = Перечисление.ХХХ_ВидДокументаВнутреннегоПеремещения[ВыбранноеЗначение];