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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.02.2005, 18:20   #1  
axaLearner is offline
axaLearner
Участник
 
88 / 17 (1) ++
Регистрация: 24.06.2004
Адрес: God knows
Вызвать modified поля датасорса
Я перекрываю modified поля датасорса на форме. Можно ли теперь программно вызвать этот метод?
Старый 24.02.2005, 18:22   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Попробуй напиши так: <имя поля>.hasChanged(true) - мне помогло.

А еще можно вот так:

<имя датасорса>_ds.object(fieldNum(таблица, поле)).modified();
Старый 25.02.2005, 12:25   #3  
axaLearner is offline
axaLearner
Участник
 
88 / 17 (1) ++
Регистрация: 24.06.2004
Адрес: God knows
2 kashperuk
<имя поля>.hasChanged(true) мне не совсем подходит, т.к. оно вызывает событие modified на дизайне, т.е., насколько я понял, <имя поля> - имя контрола на форме, а этого мне как раз и хочется избежать.
Второй же вариант: <имя датасорса>_ds.object(fieldNum(таблица, поле)).modified();, хотя мне на первый взгляд показался именно тем что нужно,
почему-то не вызывает методы датасорса формы, а вызывает только метод modifiedfield() таблицы.
Старый 30.09.2005, 12:15   #4  
Hezl is offline
Hezl
Участник
Аватар для Hezl
 
138 / 16 (1) ++
Регистрация: 21.04.2004
Адрес: Moscow, Russia
Привет.

Возник такой же вопрос. Тока хуже -
hasChanged не работает.
Есть форма, на два DS - InventDim и InventJournalTrans. Метод modified одного из полей в InventDim перекрыт. В нем изменяется одно поле в InventJournalTrans

PHP код:
InventJournalTrans.Counted newValue
После чего надо вызвать метод InventJournalTrans.Counted::modified на источнике данных.
Сделал так:

PHP код:
Counted.hasChanged(true); 
Не работает - на форме никаких изменений. Проверил отладчиком. После вызова hasChanged идет вызов метода validateField на таблице InventJournalTrans. Там стоит старое значение поля counted.

Подскажите, что я не так делаю?
Старый 30.09.2005, 12:17   #5  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Датасорс разрешен на редактирование?
Старый 30.09.2005, 12:20   #6  
Hezl is offline
Hezl
Участник
Аватар для Hezl
 
138 / 16 (1) ++
Регистрация: 21.04.2004
Адрес: Moscow, Russia
угу
Старый 30.09.2005, 12:29   #7  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
А на контроле отрабатывает?
Старый 30.09.2005, 12:42   #8  
Hezl is offline
Hezl
Участник
Аватар для Hezl
 
138 / 16 (1) ++
Регистрация: 21.04.2004
Адрес: Moscow, Russia
2Artild

Так вызывается на таблице, а не на источнике данных.

Цитата:
А на контроле отрабатывает?
Отрабатывает. Причем в modified контроля значение поля Counted новое, а в его super'e вызывается validateField на таблице. И там значение уже старое.
Старый 30.09.2005, 12:46   #9  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Хм. Может, попробовать что-нить типа flush? может, где-нить в буфере зависло?
Какая-то, прямо скажу, странная ситуация - на датасорсе еще старые данные..

Может, вынести на контрол или вызывать оттуда код изменения InventJournalTrans?
Старый 25.05.2006, 11:18   #10  
Косых Артём is offline
Косых Артём
Участник
Axapta Retail User
 
123 / 77 (3) ++++
Регистрация: 03.09.2004
Адрес: Москва
Вот решение этой проблемы:

Код:
{
    FormDataObject datasourceField;
    ;

    datasourceField = Datasource_DS.object(fieldNum(TableName,FieldName));

    datasourceField.modified();
}
Приведение типа, так называемое.
За это сообщение автора поблагодарили: Maxim Gorbunov (6), olesh (1), kashperuk (1), jasper (1), Gustav (6), Polgid (1), Cathome (1).
Теги
datasource, modified, датасорс (datasource), полезное

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как вызвать modified в Design формы Arahnid DAX: Программирование 6 14.11.2007 20:07
Denis Fedotenko: Новые поля в складских проводках Blog bot DAX: База знаний и проекты 10 24.05.2007 11:57
Как вызвать метод для поля в FormDataSource? Maxim Gorbunov DAX: Программирование 3 08.05.2007 11:28
Транзакция в modified Gad DAX: Программирование 1 29.11.2005 19:54
Получить значение поля таблицы по номеру (Id) поля Anais DAX: Программирование 2 15.04.2004 13:00
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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