AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.11.2003, 11:44   #1  
Nataly is offline
Nataly
Участник
 
101 / 10 (1) +
Регистрация: 17.06.2003
Адрес: Екатеринбург
Обновление субформы при изменении главной формы
У меня есть форма типа "документ" (т.е. главная форма с субформой внутри). При изменении некоторых полей таблицы-источника главной формы, изменяются все подчиненные строки таблицы-источника субформы (все прописано в OnValidate-ах главной таблицы). Изменения происходят, но субформа не обновляется и показывает "старые" данные, пока не встнешь курсором на строку субформы, и то при этом обновляется только одна строка. А хочется видеть изменения сразу. Как этого добиться?
Старый 17.11.2003, 12:46   #2  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
1) Пишете в сабформе функцию UpdateForm, в ней одна строчка кода -
CurrForm.UPDATE([SaveRecord])
(при желании можно еще и параметр SaveRecord для UPDATE передавать).
А потом в валидейтах Вашей главной формы вызываете
CurrForm.SubFormName.FORM.UpdateForm([SaveRecord]);
Старый 17.11.2003, 13:09   #3  
Nataly is offline
Nataly
Участник
 
101 / 10 (1) +
Регистрация: 17.06.2003
Адрес: Екатеринбург
Спасибо огромное.
Я пробовала такой же вариант, но вешать вызов CurrForm.SubFormName.FORM.UpdateForm([SaveRecord]);
на события всей главной формы - почему то либо не работает, либо ругается.
Старый 17.11.2003, 17:10   #4  
ar_raven is offline
ar_raven
Участник
 
23 / 10 (1) +
Регистрация: 21.08.2003
Адрес: Ярославль
Уважаемая Nataly! Если вдруг найдете решение этом проблемы киньте пжалуйста мне
Старый 18.11.2003, 15:33   #5  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
Уважаемая Nataly, я так и не понял, в чем Ваша проблема?
Почему нельзя повесить апдейт сабформы на тригерры OnAfterValidate() тех полей формы, изменение которых(или изменения, с ними связанные) Вы хотите синхронно наблюдать в сабформе?
Старый 19.11.2003, 12:04   #6  
Nataly is offline
Nataly
Участник
 
101 / 10 (1) +
Регистрация: 17.06.2003
Адрес: Екатеринбург
Yoil, спасибо! Ваш вариант сразу подошел - у меня все работет.

Ar_raven, здесь же все написано!
Старый 19.11.2003, 14:39   #7  
ar_raven is offline
ar_raven
Участник
 
23 / 10 (1) +
Регистрация: 21.08.2003
Адрес: Ярославль
Я решил эту проблему несколько другим путем.
Nataly, Вы писали, что у вас происходят обновления полей в сабформе только после установки на это поле, т.е. для того чтобы, допустим, в сабформе обновилось поле некой таблицы, Вам приходилось кликать на нее мышкой. Т.е. вы просто ее активизировали. Соответственно если активизировать сабформу после обновления данных, то она у нас полностью обновиться, а потом можно вернуться обратно на нашу главную форму, т.е.:

CurrForm.SubFormName.ACTIVATE;
CurrForm.FormControlName.ACTIVATE;

Да, и возможно придется в тригере сабформы на активизацию написать: CurrForm.UPDATE;
(но у меня и без этого работает)

Вот и все, в двух строчках ...
Старый 04.05.2009, 14:29   #8  
gefr is offline
gefr
Участник
Аватар для gefr
MCBMSS
 
147 / 17 (1) ++
Регистрация: 01.11.2004
Адрес: МО, Котельники
Другое решение
Решил вроде как попроще.
Если на форме есть датасорс - вешаем на его ExecuteQuery - всегда вызывается при обновлении родительской формы.
Если на форме нет датасорса - создаем, например, от CompanyInfo, и вешаем на его ExecuteQuery.
Модификация родителя не требуется.

По хорошему, нужно вешать на updateDesign какой-нибудь, чтобы без DS, если его нет, но не нашел, на какой метод вешать.
Старый 04.05.2009, 15:35   #9  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Это про Navision тема. Таких понятий как ExecuteQuery или updateDesign в NAV лично я не знаю.
Старый 04.05.2009, 15:37   #10  
gefr is offline
gefr
Участник
Аватар для gefr
MCBMSS
 
147 / 17 (1) ++
Регистрация: 01.11.2004
Адрес: МО, Котельники
))))))) искал, не нашел, сделал сам - запостил ))))
а на тему даже не посмотрел )))
Теги
navision, субформа

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Изменение из формы без OnValidate в таблице Nataly NAV: Программирование 2 05.09.2005 13:32
Получить значение из формы NickNick NAV: Программирование 1 26.11.2004 17:23
Программное обновление субформы Pasha NAV: Программирование 4 03.12.2003 17:47
Проверка при закрытии формы Nataly NAV: Программирование 5 21.10.2003 13:01
Событие на изменение данных субформы Nataly NAV: Программирование 7 22.09.2003 10:47

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:51.