Страница 1 из 1

Обновление окна

Добавлено: 04 июн 2010, 12:41
ex3em
запускаю свой интерфейс из формы KARTOBJ,

.LinkForm 'KARTOBJ_SLK_NL7' Prototype is 'KARTOBJ'
....
.begin

runinterface('myinterface');

//после выполнения интерфейса myinterface нужно обновить окно формы KARTOBJ

end.
.endform

Вопрос как принудительно обновить окно KARTOBJ - так как после работы моего интерфейса поменялись записи в браузе этого окна.

Добавлено: 04 июн 2010, 14:09
edward_K
Notify видимо рулит - только запускать ее нужно не в отчете а в фейсе..

Добавлено: 04 июн 2010, 14:31
ex3em
Рульно )))) Спасибо edward_K

я сделал вызов Notify(cmPositionChanged, 0); в фейсе и всё обновилось )) ура! ) :)

Re: Обновление окна

Добавлено: 04 июн 2010, 20:59
Screw
А в обработчике cmPositionChanged интерфейса что-нить писали?

Re: Обновление окна

Добавлено: 09 июн 2010, 14:46
ex3em
Screw писал(а):А в обработчике cmPositionChanged интерфейса что-нить писали?
нет, обработчик cmPositionChanged у меня не задействован. Почему-то в окне из которого вызываю свой интерфейс в случае изменения текущей записи, обновление Notify(cmPositionChanged, 0); срабатывает и запись после работы интерфейса изменяется. А вот если я добавляю новую запись, то в окне (LinkForm 'KARTOBJ_SLK_NL7' Prototype is 'KARTOBJ' ) изменения не вижу (( , однако перемещаясь с помощью курсора по форме места где прошелся курсор обновляются )))

Свой интерфейс запускаю по Ctrl+P из формы "Объекты строительства" (должно обновится дерево смет)

Re: Обновление окна

Добавлено: 09 июн 2010, 14:58
edward_K
Да. В идеале нужно послать ту команду, которую формирует кнопка "Обновить" в тулбаре, тока не знаю какую именно. В принципе можно добавить через докомпиляцию заведомо не используемую обработку события и вызывать его в Notify.

Re: Обновление окна

Добавлено: 10 июн 2010, 20:03
Screw
Экстрим, я таки чего-то не уловил. Поправьте, если ошибаюсь: из в процессе построения отчета (присоединенная форма) запускается интерфейс (редактирования?), после отработки которого нужно где-то (не понял, где именно) что-то обновить. Верно?

Re: Обновление окна

Добавлено: 11 июн 2010, 08:14
Алексей
к примеру из редактирования накладной вы запускаете печать. при печати вносите изменения в эту самую запись katsopr. что-то меняется.
по завершению отчета - на экране остаются старые данные, пока не передёрнешь. а хотелось бы что бы сразу раз, и изменения отобразились.

Re: Обновление окна

Добавлено: 11 июн 2010, 11:47
Screw
А что мешает прямо в отчете по окончании печати вызвать ReReadRecord? Недоступность сырцов?

Re: Обновление окна

Добавлено: 11 июн 2010, 12:48
Алексей
прямо в линкформе? вроде пробовали - не срабатывало.

Re: Обновление окна

Добавлено: 11 июн 2010, 13:59
m0p3e
По идее и не должно срабатывать.
Можно сделать докомпиляцию интерфейса с вызовом обновления экрана после cmPrintDoc.
cmPrintDoc :
{
inherited::HandleEvent(cmPrintDoc);
RescanPanel ( #KatSopr );
}

Re: Обновление окна

Добавлено: 11 июн 2010, 15:08
edward_K
с докомпиляцией и форма особо не нужна. 8) Лучше уж тогда кнопку забабахать - на форуме уже писалось как.

Re: Обновление окна

Добавлено: 11 июн 2010, 20:02
Screw
Алексей писал(а):прямо в линкформе? вроде пробовали - не срабатывало.
Нет, явное пересканирование имеет смысл вызывать только в интерфейсе, где нужно освежить содержимое записи.