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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.04.2005, 15:34   #1  
eva is offline
eva
Участник
 
34 / 10 (1) +
Регистрация: 05.10.2004
Адрес: -
Вопрос по Datasource
Добрый день, всем!
Помогите пожалуйста найти ответ на вопрос: можно ли выполнить обработку datasource на форме в цикле. Примеры на данном сайте я видела, если в grid пользователь выбрал несколько записей, а если не выбрал, как можно это реализовать?
Ситуация в следующем, есть форма (Создание строк журнала), на этой форме есть поле есть один из datasource таблицы InventSum. Я добавила свое поле, которое является расчетным (display метод) от поля AvailPhisical таблицы InventSum. При нажатии пользователем на кнопку мной введенное поле должно пересчитаться по определенному алгоритму и обновиться на форме.
Мне в дисплей метод надо передать курсор таблицы Inventsum, т.к. в противном случае поле с дисплей методом ведет себя не стабильно (при потери фокуса меняет значение).
За ранее благодарна.
Старый 27.04.2005, 15:42   #2  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Хм. Странная задачка.
1) Если пользователь не выбрал несколько строк, обработается одна - текущая. Как Вы думаете, зачем иначе в цикле третичный оператор "? : " ?

2) "в противном случае поле с дисплей методом ведет себя не стабильно" - это ошбка прогрммирования. Программируйте дисплей методы на таблице. Не забывайте кэшировать. Или храните рассчетные значения в переменных.

С Уважением,
Георгий.
Старый 27.04.2005, 15:54   #3  
eva is offline
eva
Участник
 
34 / 10 (1) +
Регистрация: 05.10.2004
Адрес: -
Дело в том что на таблице я не могу написать display метод, у меня в таблице нет некоторых параметров необходимых да и по полу AvailPhisical в datasource идет суммирование, мне это суммо вое значение надо пересчитать.
Старый 27.04.2005, 18:11   #4  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
Посмотрите как работают display-методы на источниках данных в форме Главная книга-Запросы-Оборот по счету-Оборотно-сальдовая ведомость. В частности, методы getBegCreditBalance() и ему подобные на источнике данных LedgerTable.
Там значения для расчетных полей берутся из map'а - таким способом обеспечивается кеширование.

А сам расчет может быть сколь угодно сложным и не зависеть от конкретного DataSource формы. То есть, курсор передавать надо, но в расчете он может участвовать только для фильтрации данных в сложных запросах, например
PHP код:
display InventQtyAvailPhysical availhysical(InventSum _inventSum)
{
    
InventSum inventSum;
    ;
    if (!
myMap.exists(_inventSum.ItemId)
    {
        
select sum(AvailPhysicalfrom inventSum where inventSum.ItemId _inventSum.itemId);
         
myMap.insert(inventSum.ItemIdinventSum.AvailPhysical());
    }

    return 
myMap.lookup(_inventSum.ItemId);


PS: Это абстрактный пример.
Старый 03.05.2005, 10:02   #5  
eva is offline
eva
Участник
 
34 / 10 (1) +
Регистрация: 05.10.2004
Адрес: -
:(
Спасибо всем за ответы! Кое что из всего сказанного помогло. Но вот возникает теперь другая проблема:
1. Я создала display методы на таблице.
2. на форме создала combobox и в его метод modified включила проверку значения этого combo и при соотвествующем значении прописываю в DataMethod контрола (контрол находится на Grid) формы display метод из таблицы.
Вот собственно и проблема:
при щелчке мыши на Grid у меня значения обратно пересчитываются (при чем частично).
Помогите, пожалуйста, разобраться в чем проблема!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Динамическое создание DataSource на форме, и добавление элементов дизайна. epack DAX: Программирование 12 24.11.2010 15:31
Обновление таблицы в DataSource при ее изменении Андре DAX: База знаний и проекты 7 22.04.2008 13:16
Два DataSource на одну временную таблицу mou DAX: Программирование 4 22.03.2008 11:00
Заполнение DataSource из постоянной и временной таблиц m_ax DAX: Программирование 2 21.06.2007 13:08
Вопрос: метод write на datasource выполняется два раза thyra DAX: Программирование 5 29.09.2005 12:07

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

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

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