Срабатывание формулы элемента формы только при Enter
Показывать по
10
20
40
сообщений
- 1
- 2
12.11.2007
13:44
#1
Платформа: 1С.Предприятие 7.7
Имеется форма, в ней есть текстовое поле. В него вводится что то (строка поиска по базе). Нужно чтобы формула, связанная с элементом формы срабатывала бы только при нажатии на Enter, но не срабатывала бы при смене фокуса в форме. То есть, нужна полная аналогия со строкой ввода url в Internet Explorer
Имеется форма, в ней есть текстовое поле. В него вводится что то (строка поиска по базе). Нужно чтобы формула, связанная с элементом формы срабатывала бы только при нажатии на Enter, но не срабатывала бы при смене фокуса в форме. То есть, нужна полная аналогия со строкой ввода url в Internet Explorer
12.11.2007
21:15
#3
пробовал уже.
Формула срабатывает в тот момент, пока фокус еще на этом элементе управления. И при любом действии одинаково, не могу выделить событие именно нажатия Enter.
Формула срабатывает в тот момент, пока фокус еще на этом элементе управления. И при любом действии одинаково, не могу выделить событие именно нажатия Enter.
13.11.2007
09:59
#5
А если создать рядом кнопку . Т е так как это реализовнно в той же 1С. Пишем текст для поиска и нажимает рядом кпопку поиска вперед или назад.
14.11.2007
14:08
#6
Нет, не то. ВыполнятьФормулуТолькоПриИзменении - придумана для табличных частей документов. Если ее написать, то формула срабатывает при смещении фокуса и нажатии Enter в измененном реквизите в случае если он в самом деле изменился.
14.11.2007
14:12
#7
В том и задача, чтобы убрать эту кнопочку. Сейчас так и сделано. Просто для тех, кто работает с этим, как и для любого пользователя есть некие привычные подходы в работе, к Internet Browser-ам все привыкли и там все сделанно удобно. Набираешь что то в строке url, закончил набор, нажал Enter, пошел процесс. А тут набираешь в строку, соображаешь, что надо бы еще пару фильтров задать, мышкой тычешь в какие нибудь поля рядышком, а процесс поиска уже пошел, хотя Enter на подтверждение не нажимался, просто фокус с элемента управления ушел. Иметь рядом кнопочку, конечно, вариант, но неудобный, я сам при отладке раз 10 интуитивно Enter жму и ловлю себя на том, что не работает оно так.
14.11.2007
14:39
#8
Трудно судить что вы ищите с этой формой.
Дело привычки конечно великая вещь. По мне так ничего более привычного как набрать нужный текст и нажать кнопку найти нет(хоть 1с, хоть office)
Строка url не характерный пример, а вот строка поиска в том же проводнике выглядит как текст и кнопка рядом "найти". И хотя можно нажать Enter и пойдет поиск,а все равно сразу жму "найти".
Т е в вашем примере по текстовому полю вообще нет обработки,нажимай хоть Enter, Tab вся обработка идет по кнопке.
МОжет опишите поподробнее что хотите найти.
Дело привычки конечно великая вещь. По мне так ничего более привычного как набрать нужный текст и нажать кнопку найти нет(хоть 1с, хоть office)
Строка url не характерный пример, а вот строка поиска в том же проводнике выглядит как текст и кнопка рядом "найти". И хотя можно нажать Enter и пойдет поиск,а все равно сразу жму "найти".
Т е в вашем примере по текстовому полю вообще нет обработки,нажимай хоть Enter, Tab вся обработка идет по кнопке.
МОжет опишите поподробнее что хотите найти.
15.11.2007
09:48
#9
Описывать полностью нет смысла. Я как раз вопрос написал так, чтобы голову не морочить и спросить только то, что конкретно интересует. Вникание в суть задачи не поможет. Но если интересно, пожалуйста. Имеется конфигурация, полностью написанная с нуля. Цель - автоматизация работы РИЦ. РИЦ = "Региональный информационный центр сети Консультант Плюс". Я базу сам и написал. Со временем добавляю в нее новые возможности. Сейчас придумал в ней реализовать работу отдела маркетинга. Ранее они заносили свои "мемуары" в базу, написанную на FoxPro. Перенос из Fox-а с его memo полями, это отдельная история, но сделал (через ODBC). Таким образом, сейчас в базе 1С сформирован информационный массив: Контрагенты, Справочно-Правовые системы и Номера дистрибутивов, Контактные лица с телефонами, Потенциальные клиенты (база по нашему городу и близьлежащим городам), контактные лица этих потенциальных клиентов, Записи о сделанных звонках с регистрациями авторов, дат, а так же дат напоминания о необходимости повторного звонка. Короче... Куча информации. Работу сотрудников задумал реализовать в виде "фронта", то есть единственного окна, в котором представлена вся информация, необходимая для работы и в нем реализована возможность изменения сведений, сотрудники прямо из этого окна попадают во все сведения и не "лазают" по менюшкам, чтобы сформировать какие то нужные отчеты. Все делается прямо здесь. В этом же окне реализован механизм отбора необходимых сведений. Это выглядит как набор фильтров + строка поиска. То есть, во фронте сотрудник задает фильтры (все клиенты, только потенциальные клиенты, только действующие клиенты, только бывшие клиенты и т.п., значения дополнительных свойств: установленное ПО конкурентов, пиратское ПО, в общем выбор широк) + строку поиска (если нужно). Вот со строкой поиска и задачка. Я не стал делать много текстовых полей, отдельное для поиска по наименованию, отдельное по поиску контактного лица (ФИО), отдельное для поиска по телефонам, по номерам дистрибутивов, записям, комментариям и т.п. Я сделал ОДНО поле! И набор галочек, где сотрудник может указать по каким срезам информации он хочет делать поиск. И вот получается, что все так вышло красиво и замечательно, все ищется быстро, алгоритмы все положены на механизм запросов и база размещена на MS SQL Server, но есть эта заморочка с стартером процесса выборки. Человек набирает что то в строку поиска, ему приходит в голову мысль, что надо бы состав фильтров поменять, он смещается из поля, а Формула уже срабатывает и поиск пошел. Хочу, чтобы было только как в IE, только по Enter. Похоже, придется из за такой ерунды внешнюю компоненту писать и делать keyhook.
15.11.2007
10:46
#10
Интересная конечно задача, но мне просто хотелось понять только вопрос поиска. Насколько это принципиально, нажимать Enter.
Получается что дело только в привычке. Как я уже писала для меня более привычно, дать команду начать поиск , нажав на кнопку "Найти".
Вы ведь сами пишите что сотрудник может уйти ставить галочки, выбирая другие условия. Делает это наверника мышкой, так что логичнее нажать мышкой на кнопку "Найти", чем идти в поле поиска и нажимать на клавиатуре Enter.
> Похоже, придется из за такой ерунды внешнюю компоненту писать и делать
> keyhook.
Вы проделали огромную работы.У меня иногда как у программиста бывает такие "упертости".
Так что, если это дело принципа - желаю успеха.
P.S. Поищите типа FormEx
Получается что дело только в привычке. Как я уже писала для меня более привычно, дать команду начать поиск , нажав на кнопку "Найти".
Вы ведь сами пишите что сотрудник может уйти ставить галочки, выбирая другие условия. Делает это наверника мышкой, так что логичнее нажать мышкой на кнопку "Найти", чем идти в поле поиска и нажимать на клавиатуре Enter.
> Похоже, придется из за такой ерунды внешнюю компоненту писать и делать
> keyhook.
Вы проделали огромную работы.У меня иногда как у программиста бывает такие "упертости".
Так что, если это дело принципа - желаю успеха.
P.S. Поищите типа FormEx
- 1
- 2
Есть ли free linux платформы с эмуляцией WindowsПеренос остатков из комплексной в типовую бухгалтерию.Помогите пожалуйста.
Читают тему
(гостей: 1)