Автовыбор значения текстового поля формы
Подскажите, пожалуйста, как можно решить следующую задачу.
Задача:
На форме документа присутствует поле реквизита типа Строка. В тот момент, когда курсор попадает в это поле, необходимо сформировать список из нужных значений типа Строка и предоставить пользователю выбор одного из этих значений.
Текущая реализация:
По нажатию F4 инициализируется выбор значения и в процедуре ПриНачалеВыбораЗначения() формируется список с инициализацией выбора значения.
Как можно заставить 1С автоматически выполнять необходимые действия при попадании курсора в поле?
Спасибо!
Задача:
На форме документа присутствует поле реквизита типа Строка. В тот момент, когда курсор попадает в это поле, необходимо сформировать список из нужных значений типа Строка и предоставить пользователю выбор одного из этих значений.
Текущая реализация:
По нажатию F4 инициализируется выбор значения и в процедуре ПриНачалеВыбораЗначения() формируется список с инициализацией выбора значения.
Как можно заставить 1С автоматически выполнять необходимые действия при попадании курсора в поле?
Спасибо!
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3)
На форме есть Автомобиль типа Справочник.Автомобили и Водитель типа Строка 20. У справочника Автомобиль есть реквизиты Водитель1 Строка 20 и Водитель2 Строка 20. Вот надо выбрать одного из них. Но иногда нужно ввести другое значение отличное от этих двух непосредственно в форму документа.
Логический смысл:
Есть несколько десятков автомобилей. К автомобилю привязаны два водителя, которые меняются. Иногда на автомобиле едет подменный водитель.
Водители не работают на предприятии, поэтому справочником изначально не делались. Если справочник сделать, то всё нормально. Просто хотелось строку оставить.
На форме есть Автомобиль типа Справочник.Автомобили и Водитель типа Строка 20. У справочника Автомобиль есть реквизиты Водитель1 Строка 20 и Водитель2 Строка 20. Вот надо выбрать одного из них. Но иногда нужно ввести другое значение отличное от этих двух непосредственно в форму документа.
Логический смысл:
Есть несколько десятков автомобилей. К автомобилю привязаны два водителя, которые меняются. Иногда на автомобиле едет подменный водитель.
Водители не работают на предприятии, поэтому справочником изначально не делались. Если справочник сделать, то всё нормально. Просто хотелось строку оставить.
Кстати, решение нарисовалось одно спонтанно.
Реквизит Водитель делаем неопределённого типа. При вводе нового документа реквизит делается типом любого справочника, тогда при попадании курсора делается автовыбор. В процедуре ПриНачалеВыбораЗначения() делаем необходимые действия, в т.ч. меняем тип на Строка 20 и сбрасываем флаг стандартной обработки.
Сейчас Formex посмотрю. Спасибо за совет.
Реквизит Водитель делаем неопределённого типа. При вводе нового документа реквизит делается типом любого справочника, тогда при попадании курсора делается автовыбор. В процедуре ПриНачалеВыбораЗначения() делаем необходимые действия, в т.ч. меняем тип на Строка 20 и сбрасываем флаг стандартной обработки.
Сейчас Formex посмотрю. Спасибо за совет.
Тогда FormEx и:
а также:
В глобальном модуле надо прописать загрузку FormEx как ЗагрузитьВнешнююКомпоненту("FormEx.dll").
или же при Открытии:
После чего станут доступны функции описанные выше.
ПриНажатииКнопкиКлавиатуры(<Контекст>,<КодКлавиши>,<Alt>,<Shift>,<Ctrl>,<Символ>,<ФСО>)
КонецПроцедуры
а также:
Процедура ПриНажатииЛевойКнопки(<Контекст>,<Состояние>,<КоординатаПоГоризонтали>,<КоординатаПоВертикали>,<ФСО>)
КонецПроцедуры
В глобальном модуле надо прописать загрузку FormEx как ЗагрузитьВнешнююКомпоненту("FormEx.dll").
или же при Открытии:
Попытка
_Форма=СоздатьОбъект("Форма");
Исключение
Если ЗагрузитьВнешнююКомпоненту("FormEx.dll") = 0 Тогда
Сообщить("Не найдена внешняя компонента FormEx","!!!");
СтатусВозврата(0);
Возврат;
Иначе
_Форма=СоздатьОбъект("Форма");
КонецЕсли;
КонецПопытки;
_Форма.УстановитьФорму(Форма);
ПоказатьПосле чего станут доступны функции описанные выше.
(9) У меня и так по кнопке F4 всё работает. Мне надо, чтобы само срабатывало без кнопок.
Когда курсор прыгает на реквизит типа Справочник и у него стоит галка Автовыбор, то подбор открывается атоматически. Вот мне надо проделать такой же фокус со строковым реквизитом.
Когда курсор прыгает на реквизит типа Справочник и у него стоит галка Автовыбор, то подбор открывается атоматически. Вот мне надо проделать такой же фокус со строковым реквизитом.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот