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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.03.2010, 11:00   #1  
pwp is offline
pwp
Участник
 
76 / 16 (1) ++
Регистрация: 08.07.2008
Адрес: Обнинск
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
после super() в TmpTable_ds.init() вставьте строчку:
TmpTable.setTmpData(_tmpTable);
где _tmpTable - курсор, пришедший через element.args().record()
Хотел немного расширить тему. Да - это работает, как я и говорил раньше. Но.. все изменения, сделанные на форме 2 с TmpTable вообще не отражаются в _tmpTable. В этой таблице всего одна строка (для определенности). Пришлось в методе close ФОРМЫ2 поставить :
// rForm описан в форме2 так же как и _tmpTable
rForm = PSNormsParam_tmpF_DS.cursor(); // курсор с формы2
_tmpTable.data(rForm); // копирование
_tmpTable.update();
Как это объяснить с точки зрения теории ? Вроде после TmpTable.setTmpData(_tmpTable); работа в ФОРМА2 должна была идти с буфером, полученным из формы 1 ?
Старый 02.03.2010, 11:26   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,342 / 3563 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от pwp Посмотреть сообщение
Как это объяснить с точки зрения теории ?
Одно из предположений - что это все-таки РАЗНЫЕ буфера.
К примеру - мы знаем - что если изменить поле постоянной таблицы в коде, то курсор на датасорсе придется перечитывать (если конечно мы меняем не сам курсор) путем вызова методов executeQuery/research/reread. Это и понятно - таблица на сервере, а форма на клиенте.
Но если в обратную сторону для постоянных таблиц буфер датасорса обновляет постоянную таблицу (т.к. у нее нет своего буфера), то тут обновления не происходит.

Впрочем - это лишь попытка предположить...
__________________
Возможно сделать все. Вопрос времени
Старый 02.03.2010, 11:52   #3  
pwp is offline
pwp
Участник
 
76 / 16 (1) ++
Регистрация: 08.07.2008
Адрес: Обнинск
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Одно из предположений - что это все-таки РАЗНЫЕ буфера.......
Впрочем - это лишь попытка предположить...
Там еще интересней. Пока я не включил отражение изменений на буфер _tmpTable с формы1(вызывающей) я их там и не видел. Но при входе на форму2 второй раз, все изменения сделанные там при первом входе сохранялись. Т.е. _tmpTable не изменяется а буфер TMPTable в форме2 сохраняет все изменения от вызова к вызову...при работе с формой1.
Старый 02.03.2010, 13:31   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от pwp Посмотреть сообщение
Но.. все изменения, сделанные на форме 2 с TmpTable вообще не отражаются в _tmpTable.
Вы точно уверены, что проблема в передаче буфера, а не в прорисовке изменений? Я попытался воспроизвести ваши действия. Всё передаётся. попробуйте для проверки програмно почитать курсор и вывести прочитанные данные в инфолог.
Старый 02.03.2010, 14:31   #5  
pwp is offline
pwp
Участник
 
76 / 16 (1) ++
Регистрация: 08.07.2008
Адрес: Обнинск
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Вы точно уверены, что проблема в передаче буфера, а не в прорисовке изменений? Я попытался воспроизвести ваши действия. Всё передаётся. попробуйте для проверки програмно почитать курсор и вывести прочитанные данные в инфолог.
Точно. Выдавал только через Infolog, проверял и на форме2 в методе close и потом по возврату на форме1. Данные в оригинале не изменяются.
Теги
временная таблица

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Настройка формы decoder DAX: Программирование 1 11.02.2009 16:23
Обновление DS формы из дочерней формы breakpoint DAX: Программирование 3 24.12.2008 15:54
Настройка формы WMSJournalTable на чтение Saber DAX: Администрирование 0 27.06.2008 16:18
Соединение с двумя таблицами в DS формы Zepp DAX: Программирование 3 21.04.2006 15:16
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

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

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

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