Имя: Пароль:
1C
1С v8
ограничение выбора значений перечислений
0 ХочуСпец
 
20.03.12
14:47
Есть Перечисление
Значения:
Зн1
Зн2
Зн3

Как поле выбора ограничить выбор значений? Н-р, можно выбрать только зн1, зн2

Удалять значения перечисления нельзя
1 Господин ПЖ
 
20.03.12
14:48
формируй свой список выбора
2 ХочуСпец
 
20.03.12
14:52
ну я так и думал в принципе
примерчик если несложно
3 bahus
 
20.03.12
14:52
Для УФ можно задать список выбора в свойствах реквизита, для толстого клиента так: ЭлементыФормы.НазваниеНужногоЭлемента.СписокВыбора.ЗагрузитьЗначения(МассивЗначений)
4 vasilii85
 
20.03.12
14:53
ХочешьСпец - делай сам.
5 ХочуСпец
 
20.03.12
15:03
не помогло
6 AlexTim03
 
20.03.12
15:20
Если на форме в поле ввода ограничить, то вот так можно:

Расширение поля ввода перечисления (Enum text box extension)
ДоступныеЗначения (AvailableValues)
Использование:
Чтение и запись.
Описание:
Тип: СписокЗначений. Список доступных значений перечисления, появляющихся в списке выбора.

Но по факту - это такой же аналог как в (1)
7 ХочуСпец
 
20.03.12
18:01
(6) не пашет
такая конструкция

Сделал при открытии формы

   СпЗн = Новый СписокЗначений;
   СпЗн .Добавить(зн1);
   СпЗн .Добавить(зн2);
               
   ЭлементыФормы.МоеПоле.СписокВыбора.ДоступныеЗначения = СЗ;

т.е. в доступных значениях значения добавляются, а когда выбираю все равно выплывает весь список
8 БелСан
 
20.03.12
18:21
(7)как вариант:
1)Если ограничение для конкретной формы нужно постоянно,
то попробовать интерактивно заполнить свойство элемента формы 'СписокВыбора'...
2)Если программно, то см. событие 'НачалоВыбора'...
9 Шапокляк
 
20.03.12
18:25
(7) А у элемента формы в свойствах указан Выбор из списка?
10 Reset
 
20.03.12
18:34
ЭлементыФормы.МоеПоле.СписокВыбора = СЗ; ?
11 Kashemir
 
20.03.12
18:54
Расширение поля ввода перечисления.ДоступныеЗначения (Enum text box extension.AvailableValues)
Расширение поля ввода перечисления (Enum text box extension)
ДоступныеЗначения (AvailableValues)
Использование:

Чтение и запись.
Описание:

Тип: СписокЗначений. Список доступных значений перечисления, появляющихся в списке выбора.

Доступность:

Толстый клиент.
12 ХочуСпец
 
21.03.12
16:14
Добавил на форму СписокВыбора, поле связано с данными справочника Объекта.
При отрытии назначил:

СЗ = Новый СписокЗначений;
СЗ.Добавить(Зн1);
СЗ.Добавить(Зн2);
   
Зн - значение некоторого перечисления
   
ЭлементыФормы.МойСписокВыбора.СписокВыбора = СЗ;

Отрабатывает хорошо, но!
При открытии формы справочника не заполняется данными, т.е.

При открытии присваиваю
Реквизит = зн1

Но поле списка выбора пустое
13 lxs
 
21.03.12
16:15
Процедура СтавкаНДСНачалоВыбора(Элемент, СтандартнаяОбработка)
   
   СписокВыбора = Новый СписокЗначений;
   СписокВыбора.Добавить(Перечисления.СтавкиНДС.БезНДС);
   СписокВыбора.Добавить(Перечисления.СтавкиНДС.НДС10);
   СписокВыбора.Добавить(Перечисления.СтавкиНДС.НДС18);
   
   ВыбранныйЭлемент = ВыбратьИзСписка(СписокВыбора, Элемент, СписокВыбора.НайтиПоЗначению(Элемент.Значение));
   
   Если Не ВыбранныйЭлемент = Неопределено Тогда
       Элемент.Значение = ВыбранныйЭлемент.Значение;
   КонецЕсли;
   
   СтандартнаяОбработка = Ложь;
   
КонецПроцедуры
14 ХочуСпец
 
21.03.12
16:23
(13) спасибо
15 ХочуСпец
 
21.03.12
16:37
(13) Все бы хорошо, но
Теперь не попадаю в обработчик ПриИзменении этого поля
16 Reset
 
21.03.12
17:06
(12) Попробуй вместо ПолеВыбора использовать ПолеВвода
17 Джинн
 
21.03.12
17:09
Да мышом все это делается :)
18 ХочуСпец
 
21.03.12
17:52
(16) используется поле ввода
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn