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