Страница 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