15.08.2005, 18:17 | #1 |
Участник
|
После пробования всяческих разных календарей пришел к выводу, что наилучший к использованию - тот, что есть.
Есть формочка такая - 7609. После незначительных переработок привел ее к виду, когда можно выбрать дату, нажать на кнопку ОК (ее я сделал) и выбрать дату. Внимание, вопрос! Возможно ли сделать так, чтобы заработал дабл-клик по лукапу (или лукап по дабл-клику... ) ? Чтобы не надо было нажимать лишний раз на кнопку. З.Ы. Вечная тема, блин, календарь... Почему не было таких проблем в 1С?
__________________
С уваженем, rootadmin |
|
15.08.2005, 18:27 | #2 |
Участник
|
Надо кнопку Ok сделать дефолтной.
А вообще оно точно надо - интерфейс для ввода даты? Руками набрать не быстрее? Тем более что в нави в отличие от 1С можно набрать ТОЛЬКО число, или только число с месяцем. Всяка быстрее будет чем мышкой бегать туда-сюда.... |
|
15.08.2005, 18:27 | #3 |
NavAx
|
Ну типа эта...
На OnPush (или на OnLookup, или еще куда) взять время (и дату) клика. Дальше два случая: 1) У нас уже есть записанное время клика. Если он случился меньше, чем N мс назад - это был даблклик - выполняем какое-нить действие (запускаем лукап) и обнуляем время записи последнего клика. 2) У нас записано нулевое время (до этого уже выполнен даблклик) или промежуток больше N - перезаписываем время.
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
15.08.2005, 18:35 | #4 |
Участник
|
to SVG
Иногда надо. Особенно, если надо выбрать, скажем, второй понедельник от текущей даты. А текущая дата - среда. Вобще это неправильно - брать что-то одно. Надо стараться взять все хорошее от всего, от чего только можно (главное - не переборщить ) to Дуд - любопытно, сейчас попробую
__________________
С уваженем, rootadmin |
|
15.08.2005, 18:39 | #5 |
Участник
|
Стоп. Как это попробуем.....?
Нет у матрикса ни он-клика, ни он-дабл-клика, ни чего, что можно было бы использовать. Если дабл-клик по лукапу работает только на TableBox, то видимо не судьба.
__________________
С уваженем, rootadmin |
|
15.08.2005, 18:58 | #6 |
Участник
|
Да, полезная вещь получилась бы. Может идею Дуда как-нибудь можно использовать в тригере Day - OnBeforInput?
__________________
MBS Certified Master in Navision Developer |
|
15.08.2005, 19:27 | #7 |
Участник
|
не, там импута нету. (Editable=no)
На самом деле максимум, что можно сделать, это кнопку Ок сделать дефолтной (как предложил SVG). Enter, он конечно не дабл-клик, но тоже ничего.
__________________
С уваженем, rootadmin |
|
16.08.2005, 09:03 | #8 |
Участник
|
Вроде как триггер Day - OnBeforInput срабатывает в любом случае.
__________________
Want to believe... |
|
16.08.2005, 10:10 | #9 |
Участник
|
Цитата:
Сообщение от DA_NEAL
Вроде как триггер Day - OnBeforInput срабатывает в любом случае.
__________________
MBS Certified Master in Navision Developer |
|
16.08.2005, 10:14 | #10 |
Участник
|
Цитата:
Сообщение от rutadmeen
to SVG
Иногда надо. Особенно, если надо выбрать, скажем, второй понедельник от текущей даты. А текущая дата - среда. Вобще это неправильно - брать что-то одно. Надо стараться взять все хорошее от всего, от чего только можно (главное - не переборщить ) Далее. Если проблема только в том, чтоб вводить второй понедельник, это можно решить. Есть такая функция в первом кодеюните - <div class='CALtop'>C/AL</div><div class='CAL'>MakeDateText(VAR DateText : Text[250]) : Integer</div> Ее можно доработать напильником, чтоб она научилась понимать конструкции типа -2Н1 (минус две недели, понедельник). Это все элементарно, Ватсон... |
|
16.08.2005, 10:17 | #11 |
Участник
|
Кстати по даблклику - как предложил Дуд.
Не совсем понятно как получить число, на котором стоит юзер на OnBeforeInput. Или я торможу без кофе? Есть красивый и стабильно рабочий способ? (напоминаю что это глючный матрикс) |
|
16.08.2005, 10:28 | #12 |
NavAx
|
А фиг знает. Надо порыться. Но ломает
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
16.08.2005, 11:01 | #13 |
Участник
|
Обнаружилось вот что:
1. Число (ячейку), на котором стоит курсор обнаружить не сложно 2. OnBeforInput срабатывает действительно полюбому, но 3. Срабатывает непредсказуемое число раз - иногда два, чаще три, но бывает и один, а то и пять, шесть 4. Не срабатывает при повтороном клике на ячейку
__________________
С уваженем, rootadmin |
|
16.08.2005, 11:10 | #14 |
Участник
|
Цитата:
Сообщение от rutadmeen
4. Не срабатывает при повтороном клике на ячейку
__________________
MBS Certified Master in Navision Developer |
|
16.08.2005, 11:18 | #15 |
Участник
|
При Message может и срабатывает. а без него нет.
__________________
С уваженем, rootadmin |
|
16.08.2005, 11:46 | #16 |
Участник
|
Хе-хе... А знаете пачиму?! Патамушта нефиг :-D
|
|
16.08.2005, 12:03 | #17 |
Участник
|
очнь смешно...
на самом деле нормально работает и без дабл-клика. On Enter рулит!
__________________
С уваженем, rootadmin |
|
16.08.2005, 12:07 | #18 |
Moderator
|
Предлагаю еще один способ. Вешаем на таймер активацию какого-нибудь ненужного элемента каждые 100ms. А на OnActivate матрицы - обработчик даблклика - с подсчетом дельты по времени между активациями.
|
|
16.08.2005, 12:10 | #19 |
Участник
|
даже не пробуя - тогда невозможно будет пользоваться клавиатурой, если фокус все время слетать будет.
__________________
С уваженем, rootadmin |
|
16.08.2005, 12:12 | #20 |
Moderator
|
Ну почему же? делаем пять кнопок - одну в центре, другие четыре - вокруг. Фокус по таймеру постоянно сбрасываем на центральную кнопку. А остальные будут имитировать нажатие стрелок (см. Sokoban)
|
|