|
Изменить тип значения элемента управления на форме и отобразить список выбора | ☑ | ||
|---|---|---|---|---|
|
0
nikitaz
11.08.15
✎
12:31
|
Есть реквизит Контрагент, который имеет составной тип данных: Строка, СправочникСсылка.Контрагенты
Есть форма, на которой есть элемент управления поле ввода "Контрагент". Этот элемент управления имеет свойство Данные = реквизит Контрагент. При открытии формы есть я устанавливаю значение реквизита = пустой строке. Процедура ПередОткрытием(Отказ, СтандартнаяОбработка) Контрагент = ""; КонецПроцедуры Мне необходимо, чтобы при вводе произвольной строки в поле вводе "Контрагент" был выполнен поиск по справочнику "Контрагенты" (это я сделал), и если элемент найден, то тип данных в поле ввода менялся на "СправочникСсылка.Контрагенты", при этом отображался стандартный список выбора (т.е. список контрагентов, начинающихся на введенные символы). Другими словами, если вводишь "Зав", а в справочнике "Контрагенты" есть "Завод бетона", "Завод электроники", то тип значения поля ввода должен меняться на "СправочникСсылка.Контрагенты", и должна запускаться стандартная обработка. Как это сделать? Пока я сделал так, как ниже, но в моём варианте в поле ввода просто подставляется первый найденный элемент справочника "Контрагенты". Процедура КонтрагентОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка) //Если можно найти контрагента, то подставляем контрагента из справочника спрсКонтрагент = Справочники.Контрагенты.НайтиПоНаименованию(Текст, Ложь); Если ЗначениеЗаполнено(спрсКонтрагент) Тогда Элемент.Значение = спрсКонтрагент; Иначе Элемент.Значение = Текст; КонецЕсли; КонецПроцедуры |
|||
|
1
D_E_S_131
11.08.15
✎
12:35
|
А что нужно делать с этим элементом, если ввел "зав", а ни одного контрагента нет с таким началом наименования?
|
|||
|
2
nikitaz
11.08.15
✎
12:37
|
(1) Если контрагента нет, оставлять строку. Т.е. тип не менять.
|
|||
|
3
nikitaz
11.08.15
✎
18:17
|
Да неужели никто ничего больше не напишет?
|
|||
|
4
runoff_runoff
11.08.15
✎
19:13
|
может СтандартнаяОбработка = Ложь?..
|
|||
|
5
nikitaz
11.08.15
✎
20:49
|
(4) А что это изменит? Тип значения сейчас строка. Нужно, чтобы тип значения поменялся
|
|||
|
6
D_E_S_131
11.08.15
✎
22:48
|
(2) Т.е. так и оставить надпись "Зав"?
|
|||
|
7
nikitaz
12.08.15
✎
06:29
|
(6) Да
|
| Форум | Правила | Описание | Секции | Поиск |