Доброе утро!
Есть поле типа LookupControl. При открытии окна в нём уже есть значение, по которому фильтруются записи в гриде того же окна. Если стереть это значение и начать печатать новое (не выбирая из справочника), то начинается фильтрация записей как будто это поле пустое. Можно ли сделать так, чтобы до нажатия Enter (или ок в справочнике) не начиналась фильтрация.
update: пытаюсь сделать это с событием OnKeyPress. Но при нажатии enter открывается окно справочника, а в обработчик события не заходит.
Нравится
Здравствуйте, Елена!
Если я правильно поняла последовательность действий, изменить эту функциональность нельзя, т.к. это ядро. Есть ли у Вас возможность предоставить скриншоты?
Сделала через обработчик события OnKeyPress и глобальную переменную-флаг, которая меняется свое значение на true, если был открыт справочник, и false в обработчике OnKeyPress.
В зависимости от значения флага, вызывается или нет фильтрация в обработчике OnChange поля.
Здравствуйте, Елена!
В данном случае все же корректнее будет делать это на событие OnChange, поскольку OnKeyPress будет сильнее грузить систему.
В том-то и дело, что в OnChange не понятно, как произошло изменение значения поля - с открытием справочника или просто стёрли предыдущее значение.
Здравствуйте, Елена.
Получилось ли у Вас реализовать нужный Вам функционал на OnKeyPress? Возможно у Вас есть дополнительные вопросы?
Дмитрий, описанный мной метод работает. Я просто хотела узнать, есть ли более "правильный" метод.
Здравствуйте.
Базовых механизмов реализации нужного Вам функционала в конфигурации нету, поэтому правильного метода как такового нету, и реализация зависит лишь от идей разработчика по этому поводу. Ваш алгоритм не является "тяжелым" и "не логичным" - поэтому переписывать его я бы не стал.