Страница 1 из 1
детский вопрос (6.3 ABC)
Добавлено: 04 Март 2009, 11:21
aleksey
сто лет не писал ничего с интерфейсом, в общем, как сделать, что б в форме, если она вызывается для добавления записи, курсор стоял в определенном поле.
Re: детский вопрос (6.3 ABC)
Добавлено: 04 Март 2009, 14:11
Admin
На открытие окна
Код: Выделить всё
IF ThisWindow.Request = InsertRecord
SELECT(?YouFieldName)
END
Re: детский вопрос (6.3 ABC)
Добавлено: 05 Март 2009, 18:59
lsgsoftware
Ну,вопрос не совсем уж и детский,если при заполнении формы вы хотите задать нужный
вам обход полей.В свое время на форуме этот вопрос вызвал бурную дискуссию,предлагалось черте что.А я знал ответ и ответил.Повторяю ответ:
-раскройте форму
-далее edit -> property editor
вы увидите все контролы формы и по умолчанию они будут обходиться сверху-вниз.
стрелочками "вверх-вниз" переместите поля в соответствии с нужным для вас порядком
обхода.Это бывает актуальным при добавлении новых полей и при рассогласовании
порядка обхода,который по умолчанию соответствует описанию полей в словаре.
В досе я это делал ручками,что очень напрягало,а в винде такой подарок.Успехов!
Re: детский вопрос (6.3 ABC)
Добавлено: 06 Март 2009, 0:45
StillZero
задать нужный вам обход полей
Допустим, есть 5 этри полей один за одним. Удаляем в динаме 3-ий энтри контрол. На его место добавляем в динаме другой энтри контрол. При проходе через все энтри, тот который добавляли будет выбираться последним, а не 3-им. И по F12 нельзя указать порядок в таком случае

Re: детский вопрос (6.3 ABC)
Добавлено: 07 Март 2009, 21:06
vd-vuf
если использовать CREATE (0, ...) то клаша создает новое поле с номером больше чем последнее поле.
а вы не пробовали сначала запомнить номер удаляемого поля, а новое создать с таким же номером?
к примеру:
savfield = ?myFiled
DESTROY(?myFiled)
CREATE (savfield, ...)
хотя канечно, в таком случае возможно проще юзать PROP:Use а не создавать новое поле.
Re: детский вопрос (6.3 ABC)
Добавлено: 21 Март 2009, 19:45
Apron63
Гм...а если через класс?
В INIT'e пишем следующее
if SELf.OriginalRequest=InsertRecord
SELF.FirstField=?MyLabel
.
И все вроде бы...
6.3 ABC
Re: детский вопрос (6.3 ABC)
Добавлено: 17 Декабрь 2009, 14:52
aleksey
сорри, тема та же))
Простой browse-form. Как сделать, чтоб после удачного добавления записи вызывалась процедура(например, печати этой записи).
Re: детский вопрос (6.3 ABC)
Добавлено: 17 Декабрь 2009, 17:18
Admin
aleksey писал(а):сорри, тема та же))
Простой browse-form. Как сделать, чтоб после удачного добавления записи вызывалась процедура(например, печати этой записи).
В Browse переключаемся в редактор Source
ищем процедуру которая вызывается
ищем следом за ней точку вставки
и пишем туда
Код: Выделить всё
IF GlobalResponse = RequestCompleted
! your code
END
Если нужно только при добавлении, то выше нужно сохранить SELF.Request и потом анализировать по типу
Код: Выделить всё
SR# = SELF.Request
...
тут идет вызов апдейт процедуры
...
IF GlobalResponse = RequestCompleted AND SR# = InsertRecord
! your code
END
хотя не помню... может быть SELF.Request не очищается пойдет просто вариант
Код: Выделить всё
IF GlobalResponse = RequestCompleted AND SELF.Request = InsertRecord
! your code
END