Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 13:26

Как сделать автозаполнение поля?

Автор EvgeniyaJ, 21 мар 2019, 19:09

0 Пользователей и 1 гость просматривают эту тему.

EvgeniyaJ

Есть поле "Вид документа"с перечислением, ниже "Квалификация", как сделать так, чтобы при выборе допустим "диплом бакалавра", в поле Квалификация автоматически заполнялось "бакалавр", при выборе "диплом магистра", заполнялось "магистр" ну и т.д. Так понимаю, что это событие при изменении, но как это реализовать не понимаю, может кто-то подскажет


AIFrame

Если их немного - то по тупому опиши. Перечисления - не такая вещь, которая может каждый день меняться.
Делать в директиве на сервере.

Если Объект.ВидДокумента = Перечисления.ВидыДокументов.АБВ Тогда
    Объект.Квалификация = Справочники.Квалификации.НайтиПоНаименованию("А"); // или что там у тебя, перечисления, строка, я хз - ты не рассказал.
ИначеЕсли ...
КонецЕсли;

Только не надо "Вот прям как мне надо напиши".

EvgeniyaJ

Цитата: AIFrame от 21 мар 2019, 20:08
Если их немного - то по тупому опиши. Перечисления - не такая вещь, которая может каждый день меняться.
Делать в директиве на сервере.

Если Объект.ВидДокумента = Перечисления.ВидыДокументов.АБВ Тогда
    Объект.Квалификация = Справочники.Квалификации.НайтиПоНаименованию("А"); // или что там у тебя, перечисления, строка, я хз - ты не рассказал.
ИначеЕсли ...
КонецЕсли;

Только не надо "Вот прям как мне надо напиши".

А где именно нужно написать этот код?
Добавлено: 22 мар 2019, 09:22


Цитата: AIFrame от 21 мар 2019, 20:08
Если их немного - то по тупому опиши. Перечисления - не такая вещь, которая может каждый день меняться.
Делать в директиве на сервере.

Если Объект.ВидДокумента = Перечисления.ВидыДокументов.АБВ Тогда
    Объект.Квалификация = Справочники.Квалификации.НайтиПоНаименованию("А"); // или что там у тебя, перечисления, строка, я хз - ты не рассказал.
ИначеЕсли ...
КонецЕсли;

Только не надо "Вот прям как мне надо напиши".

Пишу вот этот код в событии при изменении "вид документа"

&НаКлиенте
Процедура ВидДокументаПриИзменении(Элемент)
ВидДокументаПриИзмененииНаСервере();
КонецПроцедуры

&НаСервере
Процедура ВидДокументаПриИзмененииНаСервере()
Если Объект.ВидДокумента = Перечисления.ВидыДокументов.ДипломБакалавра Тогда
Объект.Квалификация = Перечисления.Квалификации.НайтиПоНаименованию("Бакалавр");
КонецЕсли;
КонецПроцедуры


Выдает ошибку

antoneus

У перечисления и правда нет метода НайтиПоНаименованию, ему этот метод не нужен. Пишите просто

Объект.Квалификация = Перечисления.Квалификации.Бакалавр;

Можно и не бегать на сервер:

&НаКлиенте
Процедура ВидДокументаПриИзменении(Элемент)
    Если Объект.ВидДокумента = ПредопределенноеЗначение("Перечисление.ВидыДокументов.ДипломБакалавра") Тогда
        Объект.Квалификация = ПредопределенноеЗначение("Перечисление.Квалификации.Бакалавр");
    КонецЕсли;
КонецПроцедуры

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск