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

Помогите с формой выбора

Автор Алексей_1985_06, 18 сен 2021, 10:21

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

Алексей_1985_06

Всем доброго дня! Помогите решить вопрос:
1. В РС есть реквизит "Должность" составного типа ("Строка", СправочникСсылка.ШтатныеДолжности).
2. Необходимо при выборе типа значения "СправочникСсылка.ШтатныеДолжности" - открывать определенную форму отбора
Подскажите какое событие нужно использовать и по возможности прошу помощи с кодом...
Сам написал так:

Если ТипЗнч(Запись.ЗанимаемаяДолжность) = Тип("СправочникСсылка.ШтатныеДолжности")  Тогда
ОткрытьФорму("Справочник.ШтатныеДолжности.Форма.ФормаОтбораВакантных")
КонецЕсли;

nvj84

В событий ОбработкаВыбора
Если ВыбранноеЗначение = Тип("СправочникСсылка.ШтатныеДолжности") Тогда
СтандартнаяОбработка = Ложь;
ОткрытьФорму("Справочник.ШтатныеДолжности.Форма.ФормаВыбораОсобенная",,Элемент);
КонецЕсли;

Алексей_1985_06

nvj84, Большое Вам спасибо за помощь!

Алексей_1985_06

Цитата: nvj84 от 19 сен 2021, 12:50В событий ОбработкаВыбора
Если ВыбранноеЗначение = Тип("СправочникСсылка.ШтатныеДолжности") Тогда
СтандартнаяОбработка = Ложь;
ОткрытьФорму("Справочник.ШтатныеДолжности.Форма.ФормаВыбораОсобенная",,Элемент);
КонецЕсли;
[/quote

Дорогие программисты, помогите дописать данный программный код... недостаток заключается в том, что если значение выбрано и помещено в поле ввода, то при повторном выборе - открывается форма выбора по умолчанию, а не "ОсобеннаяФормаВыбора"

nvj84

По мотивам статьй и на этот раз с использованием события НачалоВыбора

&НаКлиенте
Процедура ЗанимаемаяДолжностьНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
СписокТипов = Новый СписокЗначений;
СписокТипов.Добавить(Тип("Строка"));
СписокТипов.Добавить(Тип("СправочникСсылка.ШтатныеДолжности"));
СписокПараметров = Новый Структура("Элемент", Элемент);
Оповещение = Новый ОписаниеОповещения("ОбработкаВыбораТипаДанных", ЭтотОбъект, СписокПараметров);
СписокТипов.ПоказатьВыборЭлемента(Оповещение, "Выбор типа данных");
КонецПроцедуры

&НаКлиенте
Процедура ОбработкаВыбораТипаДанных(ВыбранныйЭлемент, СписокПараметров) Экспорт
Если ВыбранныйЭлемент <> Неопределено Тогда
Если ВыбранныйЭлемент.Значение = Тип("СправочникСсылка.ШтатныеДолжности") Тогда
ОткрытьФорму("Справочник.ШтатныеДолжности.Форма.ФормаВыбораОсобенная", ,СписокПараметров.Элемент);
ИначеЕсли ВыбранныйЭлемент.Значение = Тип("Строка") Тогда
Запись.ЗанимаемаяДолжность = "";
КонецЕсли;
КонецЕсли;
КонецПроцедуры

Алексей_1985_06

nvj84, Огромное Вам спасибо за помощь!

Теги:

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

Рейтинг@Mail.ru

Поиск