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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.03.2007, 12:45   #1  
vallys is offline
vallys
Developer
 
146 / 108 (0) +++++
Регистрация: 18.01.2005
Post
Цитата:
Сообщение от Lelik111 Посмотреть сообщение
...Как мне сделать чтобы все изменения сразу отображались в запущенной Аксапте?
В двух словах. В Аксапте у таблицы WebUser (в стандарте) свойство CacheLookup установлено в EntrieTable, что значит "кешировать таблицу полностью". Т.е. при первом обращении к таблице ее содержимое кешируется и при повторном обращении, записи возвращабтся не из БД а из кеша.
Вы не сказали как именно вы получаете записи в Аксапте, поэтому опишу все что пришло в голову... раз уж начал отвечать.
Чтобы Вы смогли из Аксапты получить запись таблицы WebUser из БД а не из кеша, можно поступить следующими способами (для Вас, я думаю, актуальным будет пункт 1):
1) Если запись отображается на форме в гриде, то можно нажать F5 (пункт меню "Команда"->"Восстановить") . Текущая запись прочитается из БД и обновится в кеше. Это же действие можно выполнить програмно - см. пункт 2
2) Если запись отображается на форме в гриде, то можно програмно выполнить
X++:
DataSourse.reread(); // чтение ТЕКУЩЕЙ (одной) записи из БД
DataSourse.refresh(); // Обновление контролов на форме
// DataSourse - датасоурс таблицы на форме
3) Можно програмно прочитать запись/записи в Аксапте напрямую из БД, а не из кеша (в данном случае в кеше все-равно останется старые "версии" записей)
X++:
WebUser.disableCache(true);
select from WebUser ...
4) Можно програмно обновить кеш таблицы, для дальнейшей работы с ней любыми способами
X++:
flush WebUser; // в 3-х уровневой конфигурации выполнить на СЕРВЕРЕ
5) или програмно обновить кеш всех таблиц
X++:
new Dictionary().tableFlush(); // в 3-х уровневой конфигурации выполнить на СЕРВЕРЕ
или
X++:
SysFlushDictionary::doFlush(); // в 3-х уровневой конфигурации выполнить на СЕРВЕРЕ
6) или подождать, пока кеш таблицы обновится автоматически... - неудачная идея, но имеет право на существование

P.S. мда... совсем не в двух словах. Lelik111, в будущем постарайтесь более конкретизировать свои вопросы.

Последний раз редактировалось vallys; 03.03.2007 в 17:18.
За это сообщение автора поблагодарили: Russland (1), Silphidae (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
LedgerJournalTable как лучше сделать новую форму kitty DAX: Программирование 2 20.02.2008 12:36
Что сделать, чтобы связанные Data Source обновились? Maxim Gorbunov DAX: Программирование 4 11.04.2005 17:40
Сводное планирование - изменения&изменения мин. Alexm DAX: Прочие вопросы 1 05.04.2005 10:43
Глюк : не сохраняются изменения в коде Logger DAX: Администрирование 2 31.01.2005 12:02
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

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

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

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