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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.10.2012, 12:07   #1  
JuniorAx is offline
JuniorAx
Участник
 
134 / 20 (1) +++
Регистрация: 20.07.2011
Адрес: Санкт-Петербург
Пропадает значение на форме
Добрый день! Такая проблема: Форма, на ней есть выпадающий список, у него перекрыт метод modified, в нём можно выбрать договор. Далее договор изменяется в таблице LedgerJournalTrans, которая лежит под формой! Смена договора происходит корректно и всё в общем то ОК! Но, после изменения почему то пропадает значение из stringEdit в котором отображается профиль разноски (LedgerJournalTrans.PostingProfile), причём только в этом контроле такое происходит, все остальные на месте! Если нажать F5, то значение появляется. При изменении договора поле PostingProfile ни каким оразо не задействовано! В конце обработки такой код:
X++:
LedgerJournalTrans_DS.research();
LedgerJournalTrans_DS.findRecord(_LedgerJournalTransUPd);
Как выйти из этой ситуации, а то пользователям не нравится каждый раз нажимать F5.
Спасибо!
Старый 29.10.2012, 12:25   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Если паллиативно, то
X++:
LedgerJournalTrans_DS.reread();
LedgerJournalTrans_DS.refresh();
должно заменить F5.

А саму причину пропадания так сразу и не угадаешь. Метод modified перекрыт на таблице или на датасурсе?
Старый 29.10.2012, 12:29   #3  
JuniorAx is offline
JuniorAx
Участник
 
134 / 20 (1) +++
Регистрация: 20.07.2011
Адрес: Санкт-Петербург
Добрый день. Метод перекрыт у самого контрола.
Проблема в том, что значение не отображается только у одного контрола!!! Все остальные на месте.
Как будет правильнее, заменить мой код вашим или добавить ваш к моему??
Старый 29.10.2012, 12:40   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Мой код всего лишь заменяет команду Восстановить (F5). Поставить его можно сразу после вашего или возможно вместо вашего. Пока не понятно с какой целью вы обновляете все записи в запросе (делаете research). Ваш метод modified изменяет значения других строк?

Цитата:
Сообщение от JuniorAx Посмотреть сообщение
Метод перекрыт у самого контрола.
Почему метод перекрыт на уровне контрола а не на датасурсе или таблице? У вас договор отображается в нескольких местах при помощи разных контролов и они должны по разному реагировать на изменение?
Старый 29.10.2012, 13:04   #5  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,486 / 408 (16) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Почему метод перекрыт на уровне контрола а не на датасурсе или таблице? У вас договор отображается в нескольких местах при помощи разных контролов и они должны по разному реагировать на изменение?
Уверен, что просто ошиблись с местом перекрытия.
А research там однозначно не нужен.
__________________
С уважением,
Вячеслав
Старый 29.10.2012, 14:24   #6  
JuniorAx is offline
JuniorAx
Участник
 
134 / 20 (1) +++
Регистрация: 20.07.2011
Адрес: Санкт-Петербург
Почему не правильно перекрывать modified у контрола??? Если мне нужно на форме сделать поле в котором пользователь будет выбирать номер договора и оно будет изменяться в текущей записи, то что тогда нужно перекрывать?? Сейчас всё нормально работает, и номер договора меняется.
Спасибо за помощь!
Старый 29.10.2012, 15:00   #7  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Цитата:
Сообщение от JuniorAx Посмотреть сообщение
Почему не правильно перекрывать modified у контрола?
потому что на форме может быть 5 таких полей в разных местах. перекрыв на датасорсе модифаед вы всем 5-ти полям зададите одинаковую логику. или на 5-ти контролах модифаеды перекрывать?
Старый 29.10.2012, 15:02   #8  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
скажу больше. Еще и на таблице есть метод modifiedField. Он тоже отрабатывает после изменения значения поля на форме. Так вот там так вообще всем формам можно одинаковую логику подсунуть
Старый 29.10.2012, 15:09   #9  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от JuniorAx Посмотреть сообщение
Почему не правильно перекрывать modified у контрола??? Если мне нужно на форме сделать поле в котором пользователь будет выбирать номер договора и оно будет изменяться в текущей записи, то что тогда нужно перекрывать??
Дело в том что контролы это уровень GUI. Смешивать бизнес логику и презантационную логику - это в принципе не хорошо, так в аксапте пользовательский интерфейс ещё и может быть изменён пользователем в процессе исполнения. Так, например, пользователь, открывший вашу форму, может добавить ещё один контрол для ввода/изменения договора через контекстное меню > настройка > добавление полей. И на этом контроле уже не будет работать ваш modified.

Метод перекрытый на уровне источника данных, будет работать даже на новых контролах. А метод перекрытый на таблице будет работать ещё и на всех формах

Последний раз редактировалось S.Kuskov; 29.10.2012 в 15:12.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Изменить значение в форме с помощью другой формы JuniorAx DAX: Программирование 8 15.08.2012 03:18
Пропадает значение Range при экспорте проекта gl00mie DAX: Программирование 3 27.09.2007 00:22
Значение пользовательского фильтра на форме vpa DAX: Программирование 7 27.10.2004 17:14
Как получить значение поля Datasource на динамически созданной форме? storer DAX: Программирование 2 14.11.2003 16:41
"Пустое" значение Enum в веб-форме LedgerVoucher DAX: Программирование 4 25.07.2002 12:35

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:10.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.