|
программно задать значение перечисления исходя из выбора значения другого перечисления |
☑ |
0
BazCATilio
10.05.20
✎
21:11
|
всем привет!
ситуация следующая: на форме два реквизита - наименование и вид. у обоих тип перечисление.
как программно сделать так, чтобы при выборе, того или иного наименования автоматически подтягивался нужный вид.
простыми словами, чтобы выбрал наименование и как следствие нужный вид.
создал процедуру при изменении наименования:
&НаКлиенте
Процедура НаименованиеПриИзменении(Элемент)
Если ЭтаФорма.Элементы.Наименование = "НематериальныеАктивы" Тогда
ЭтаФорма.Элементы.ВидАктива = Перечисления.ВидыАктивов.Внеоборотные; // тут хз как писать
КонецЕсли
КонецПроцедуры
подскажите, пожалуйста, куда копать
p.s. мб что посоветуете годного почитать и т.д.
|
|
1
runoff_runoff
10.05.20
✎
21:24
|
попкорн
|
|
2
Chameleon1980
10.05.20
✎
21:24
|
и я хз, как писать. условия не описаны
|
|
3
LienXo
10.05.20
✎
21:28
|
Ну если "НаКлиенте" то как минимум "ПредопределенноеЗначение("Перечисление...")
|
|
4
BazCATilio
10.05.20
✎
21:46
|
(2) к примеру, если наименование = "ОсновныеСредства" Тогда вид ="внеоборотные";
если наименование = "Запасы" Тогда вид ="Оборотные";
|
|
5
Chameleon1980
10.05.20
✎
22:01
|
а зачем по наименованию?
сравнивай реквизит формы со значением перечисления через предопределенноезначение
к реквизиту формы обратись просто по имени
|
|
6
LienXo
10.05.20
✎
22:05
|
И обрати внимание, что на сервере:
а = перечислениЯ.
на клиенте:
а = предопределенноезначение("перечислениЕ
|
|
7
Chameleon1980
10.05.20
✎
22:05
|
(6) конфигуратор подскажет
|
|
8
LienXo
10.05.20
✎
22:06
|
(7) если умеешь пользоваться... Хмм, (1) был прав... и пива :)
|
|
9
BazCATilio
10.05.20
✎
22:17
|
(5) по имени если пишу ругался.
вот так написал:
Если ЭтаФорма.Элементы.Наименование = ПредопределенноеЗначение("Перечисление.НаименованияАктивов.НематериальныеАктивы") Тогда
ЭтаФорма.Элементы.ВидАктива = ПредопределенноеЗначение("Перечисление.ВидыАктивов.Внеоборотные");
КонецЕсли
|
|
10
BazCATilio
10.05.20
✎
22:18
|
(6) спасибо
|
|
11
BazCATilio
10.05.20
✎
22:19
|
но че-то все-равно не работает.
туплю
|
|
12
LienXo
10.05.20
✎
22:23
|
Или
ВидАктива = ПредопределенноеЗначение("Перечисление.ВидыАктивов.Внеоборотные");
или
Объект.ВидАктива = ПредопределенноеЗначение("Перечисление.ВидыАктивов.Внеоборотные");
|
|
13
Chameleon1980
10.05.20
✎
22:27
|
это у тебя обработка?
перечисление реквизит обработки?
основной реквизит формы обьект?
тогда через обьект. видактивп
|
|
14
Chameleon1980
10.05.20
✎
22:28
|
поищи в дереве реквизитов и обратись
|
|
15
BazCATilio
10.05.20
✎
22:35
|
всем большое спасибо!
через объект заработало
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший