Список, стандартный Browse, в котором используется EIP (edit in place) только при добавлении, при изменении может быть EIP или стандартный Form.
При создании новой (EIP) записи все поля заполняются с помощью PrimeRecord, кроме одного для которого вызывается автоматически справочник и после выбора нужно записать запись. Где указать, после выбора значения из справочника, что работа с EIP завершена, при том, что все поля используемые при добавлении disable?
Спасибо за внимание.
EIP - Complete
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- ✯ Ветеран ✯
- Сообщения: 1702
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
EIP - Complete
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 4961
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 19 раз
EIP - Complete
Я по старинке делаю так. В методе TakeEvent конкретного поля до Parent Call пишу:
Но это только пример, без Вашей конкретики. В каком методе у Вас справочник вызывается?
Код: Выделить всё
case Event
of EVENT:Selected
bla-bla bla
of EVENT:NewSelection
bla-bla-bla
of EVENT:Accepted
return EditAction:Complete
end
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 1702
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
EIP - Complete
Спасибо kreator, попробую.
Пока сделал примитивно, одно поле как используемое (только READ) в TakeEvent после Parent - PRESSKEY(EnterKey).
Работает вроде без проблем
Пока сделал примитивно, одно поле как используемое (только READ) в TakeEvent после Parent - PRESSKEY(EnterKey).
Работает вроде без проблем
Справочник вызывается еще до Insert-а, если есть значение из справочника, то выполняется Insert, как вариант например:
Код: Выделить всё
GlobalRequest = SelectRecord
CustSelect()
IF custid_select
POST(Event:Accepted,?Insert)
ELSE
Message('Не указан контрагент') ! если нажата Cancel or Close
END
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 4961
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 19 раз
EIP - Complete
gopstop2007, как-то кривовато всё. Я бы в методе TakeEvent на событие EVENT:Selected сделал бы вызов справочника и дальнейшую обработку. Если выбрано что-то из справочника, то выход с EditAction:Complete, ничего не выбрано, то - EditAction:Cancel. Ещё можно сделать в EIP поле "lookup" (Это Entry с кнопкой вызова окна справочника). Я часто пользую. пользователь при наборе в поле получает подсказку а-ля Комбо, если не находит ничего, то может вызвать справочник. Особенно удобно, если справочник "деревянный".
А так Вы искусственно провоцируете нажатие на клавишу Insert. Непонятно зачем. Как будто пользователь не нажимает сам эту клавишу. И зачем custid_select? GlobalResponse не работает?
А так Вы искусственно провоцируете нажатие на клавишу Insert. Непонятно зачем. Как будто пользователь не нажимает сам эту клавишу. И зачем custid_select? GlobalResponse не работает?
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 1702
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
EIP - Complete
Спасибо за замечания, кривовато не отрицаю , справочник (на IMDD) у меня вызывается до создания записи, чтобы "не дергать" лишний раз сервер (Mysql - онлайн) из-за неопытности пользователя.kreator писал(а): ↑13 Январь 2019, 14:28 gopstop2007, как-то кривовато всё. Я бы в методе TakeEvent на событие EVENT:Selected сделал бы вызов справочника и дальнейшую обработку. Если выбрано что-то из справочника, то выход с EditAction:Complete, ничего не выбрано, то - EditAction:Cancel. ....
А так Вы искусственно провоцируете нажатие на клавишу Insert. Непонятно зачем. Как будто пользователь не нажимает сам эту клавишу.
И еще, сравним - создаваемая запись ждет выбор значения из справочника (варианты: в этот момент отвлекли, пропало соединение и т.п.) или
офлайн выбрано значение и запись создана автоматом?
Насчет клавиши Insert, она скрыта(hide) и не используется.
Если фокус на таблице и нажата горячая клавиша - пробел (space), или выбрано из меню в pop-up - Добавить, -> POST(Event:Accepted,?Insert)
Для пользователя найти клавишу Insert или тыкать мышкой на клавишу, он же не программист , а найти и нажать пробел объяснить минутное дело, и так уже более 10-и лет
для примера и меньше писать
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
-
- ✯ Ветеран ✯
- Сообщения: 4961
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 19 раз
EIP - Complete
Я в таком случае и EIP не использовал бы. Делал бы InsertRecord руками и дело с концом. Но это так, Вам, конечно, видней.
We are hard at work… for you.