Есть задача вызвать окно, послевыполнения в окно деталей добавляется новая запись. Проблема состоит в том, что после закрытия вызванного окна по кнопке ОК необходимо обновить окно деталей (т.е. в нем должна появиться новая запись).
Нравится
Предполагаю, что окно унаследовано от wnd_BaseEdit ?
Общий принцип такой:
- перед вызовом своего окна присвойте его атрибуту NotifyObject ссылку на окно-получатель сообщения о закрытии;
var wnd_Test = Services.GetNewItemByUSI('wnd_Test'); wnd_Test.Attrbutes('NotifyObject') = Self; wnd_Test.Prepare(); wnd_Test.Show();
- в обработчике кнопки ОК своего окна, по окончании других действий, отправьте сообщение MSG_OK.
SendNotify(Self, 'MSG_OK', '');
- в обработчике OnNotify вызывающего окна, обработайте это сообщение (если деталь унаследована от wnd_BaseGridArea, то не нужно - такая обработка уже реализована):
if (Message == 'MSG_OK') { // обновить датасет }
Можете также посмотреть, как реализовано в стандартных сервисах wnd_BaseGridArea/wnd_BaseDBEdit
--------------------------------------------
Лабитек
Центр разработки приложений