Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

Срабатывание формулы элемента формы только при Enter

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №1
 
12.11.2007 13:44

Платформа: 1С.Предприятие 7.7<br>Имеется форма, в ней есть текстовое поле. В него вводится что то (строка поиска по базе). Нужно чтобы формула, связанная с элементом формы срабатывала бы только при нажатии на Enter, но не срабатывала бы при смене фокуса в форме. То есть, нужна полная аналогия со строкой ввода url в Internet Explorer

ПальцемВНебо
читатель
офлайн
Дата регистрации: 15.02.2007
Сообщений: 51
Пост №2
 
12.11.2007 14:11

можно попробывать Форма.АктивныйЭлемент(), но не факт...

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №3
 
12.11.2007 21:15

пробовал уже.<br>Формула срабатывает в тот момент, пока фокус еще на этом элементе управления. И при любом действии одинаково, не могу выделить событие именно нажатия Enter.

Vladko
читатель
офлайн
Дата регистрации: 27.08.2007
Сообщений: 2649
Пост №4
 
13.11.2007 07:38

форма.ВыполнятьФормулуТолькоПриИзменении(<Режим>) не то?

Tanya
читатель
офлайн
Дата регистрации: 03.12.2001
Сообщений: 8412
Пост №5
 
13.11.2007 09:59

А если создать рядом кнопку . Т е так как это реализовнно в той же 1С. Пишем текст для поиска и нажимает рядом кпопку поиска вперед или назад.

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №6
 
14.11.2007 14:08

Нет, не то. ВыполнятьФормулуТолькоПриИзменении - придумана для табличных частей документов. Если ее написать, то формула срабатывает при смещении фокуса и нажатии Enter в измененном реквизите в случае если он в самом деле изменился.

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №7
 
14.11.2007 14:12

В том и задача, чтобы убрать эту кнопочку. Сейчас так и сделано. Просто для тех, кто работает с этим, как и для любого пользователя есть некие привычные подходы в работе, к Internet Browser-ам все привыкли и там все сделанно удобно. Набираешь что то в строке url, закончил набор, нажал Enter, пошел процесс. А тут набираешь в строку, соображаешь, что надо бы еще пару фильтров задать, мышкой тычешь в какие нибудь поля рядышком, а процесс поиска уже пошел, хотя Enter на подтверждение не нажимался, просто фокус с элемента управления ушел. Иметь рядом кнопочку, конечно, вариант, но неудобный, я сам при отладке раз 10 интуитивно Enter жму и ловлю себя на том, что не работает оно так.

Tanya
читатель
офлайн
Дата регистрации: 03.12.2001
Сообщений: 8412
Пост №8
 
14.11.2007 14:39

Трудно судить что вы ищите с этой формой.<br>Дело привычки конечно великая вещь. По мне так ничего более привычного как набрать нужный текст и нажать кнопку найти нет(хоть 1с, хоть office)<br>Строка url не характерный пример, а вот строка поиска в том же проводнике выглядит как текст и кнопка рядом "найти". И хотя можно нажать Enter и пойдет поиск,а все равно сразу жму "найти". <br><br>Т е в вашем примере по текстовому полю вообще нет обработки,нажимай хоть Enter, Tab вся обработка идет по кнопке. <br><br>МОжет опишите поподробнее что хотите найти.

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №9
 
15.11.2007 09:48

Описывать полностью нет смысла. Я как раз вопрос написал так, чтобы голову не морочить и спросить только то, что конкретно интересует. Вникание в суть задачи не поможет. Но если интересно, пожалуйста. Имеется конфигурация, полностью написанная с нуля. Цель - автоматизация работы РИЦ. РИЦ = "Региональный информационный центр сети Консультант Плюс". Я базу сам и написал. Со временем добавляю в нее новые возможности. Сейчас придумал в ней реализовать работу отдела маркетинга. Ранее они заносили свои "мемуары" в базу, написанную на FoxPro. Перенос из Fox-а с его memo полями, это отдельная история, но сделал (через ODBC). Таким образом, сейчас в базе 1С сформирован информационный массив: Контрагенты, Справочно-Правовые системы и Номера дистрибутивов, Контактные лица с телефонами, Потенциальные клиенты (база по нашему городу и близьлежащим городам), контактные лица этих потенциальных клиентов, Записи о сделанных звонках с регистрациями авторов, дат, а так же дат напоминания о необходимости повторного звонка. Короче... Куча информации. Работу сотрудников задумал реализовать в виде "фронта", то есть единственного окна, в котором представлена вся информация, необходимая для работы и в нем реализована возможность изменения сведений, сотрудники прямо из этого окна попадают во все сведения и не "лазают" по менюшкам, чтобы сформировать какие то нужные отчеты. Все делается прямо здесь. В этом же окне реализован механизм отбора необходимых сведений. Это выглядит как набор фильтров + строка поиска. То есть, во фронте сотрудник задает фильтры (все клиенты, только потенциальные клиенты, только действующие клиенты, только бывшие клиенты и т.п., значения дополнительных свойств: установленное ПО конкурентов, пиратское ПО, в общем выбор широк) + строку поиска (если нужно). Вот со строкой поиска и задачка. Я не стал делать много текстовых полей, отдельное для поиска по наименованию, отдельное по поиску контактного лица (ФИО), отдельное для поиска по телефонам, по номерам дистрибутивов, записям, комментариям и т.п. Я сделал ОДНО поле! И набор галочек, где сотрудник может указать по каким срезам информации он хочет делать поиск. И вот получается, что все так вышло красиво и замечательно, все ищется быстро, алгоритмы все положены на механизм запросов и база размещена на MS SQL Server, но есть эта заморочка с стартером процесса выборки. Человек набирает что то в строку поиска, ему приходит в голову мысль, что надо бы состав фильтров поменять, он смещается из поля, а Формула уже срабатывает и поиск пошел. Хочу, чтобы было только как в IE, только по Enter. Похоже, придется из за такой ерунды внешнюю компоненту писать и делать keyhook.

Tanya
читатель
офлайн
Дата регистрации: 03.12.2001
Сообщений: 8412
Пост №10
 
15.11.2007 10:46

Интересная конечно задача, но мне просто хотелось понять только вопрос поиска. Насколько это принципиально, нажимать Enter.<br><br>Получается что дело только в привычке. Как я уже писала для меня более привычно, дать команду начать поиск , нажав на кнопку "Найти".<br>Вы ведь сами пишите что сотрудник может уйти ставить галочки, выбирая другие условия. Делает это наверника мышкой, так что логичнее нажать мышкой на кнопку "Найти", чем идти в поле поиска и нажимать на клавиатуре Enter.<br><br>> Похоже, придется из за такой ерунды внешнюю компоненту писать и делать <br>> keyhook. <br><br>Вы проделали огромную работы.У меня иногда как у программиста бывает такие "упертости".<br>Так что, если это дело принципа - желаю успеха.<br><br>P.S. Поищите типа FormEx<br><br>

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация