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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.09.2005, 11:18   #21  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Re: просто и со вкусом :)
Цитата:
Изначально опубликовано Alexander A.
Просто как еще одна идея. Создать столько контролов на форме, сколько условий надо обработать. Делать только один visible в зависимости от условий на форме. Соответственно, столько же display-методов на таблице
[/B]
Вариант. Только при переходе по строкам одни поля будут скываться, другие появляться, и форма будет так мигать, что мало не покажется. К тому же, на форму может попать только один дисплей метод - того поля, на котором стоите Так что даже и не предлагался.
Цитата:
Изначально опубликовано konfet
В данной ситуации IMHO лучше использовать временную таблицу, которая будет заполняться в init-е. Никакого обмена данными с сервером после изначального быть не должно, так как временная таблица на клиенте. А если её еще сделать в виде датасурса и заджоинить с основной таблицей грида, то и вообще от дисплей-методов можно отказаться
Г-н konfet ! Скажите, вы когда-нибудь пробовали заполнять темповую таблицу, ну, хотябы, строками накладных хотя бы за один год??
Даже когда никого в базе нет, и бд позволяет грязное чтение?
И сколько такая таблица будет течь на клиента? А как её джойнить с нормальной на сервере

С Уважением,
Георгий
Старый 20.09.2005, 16:38   #22  
exceptor is offline
exceptor
Участник
 
32 / 14 (1) ++
Регистрация: 15.03.2004
Всем спасибо за советы! Лично я воспользовался решением, предложенным AndyD
__________________
Спокойствие, только спокойствие! (Астрид Линдгрен)
Старый 20.09.2005, 17:34   #23  
Delfins is offline
Delfins
Участник
 
320 / 39 (2) +++
Регистрация: 20.09.2005
Адрес: Riga, Latvia
Цитата:
Изначально опубликовано exceptor
Всем спасибо за советы! Лично я воспользовался решением, предложенным AndyD
GlobalCache ето тот-же Map... только 3D = [owner=[key,value]]

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

Единственний плюс - это то, что данные можно кешировать через формы (к этому относиться и повторное открытие той же формы)
Старый 20.09.2005, 17:49   #24  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Разница в том, что считывание происходит один раз для строки - при вызове дисплейного метода для кэширования
__________________
Axapta v.3.0 sp5 kr2
Старый 20.09.2005, 20:42   #25  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Цитата:
Изначально опубликовано Delfins
Единственний плюс - это то, что данные можно кешировать через формы (к этому относиться и повторное открытие той же формы)
Не могли бы вы пояснить, что имеется в виду?
__________________
Axapta v.3.0 sp5 kr2
Старый 20.09.2005, 21:57   #26  
konfet is offline
konfet
Снова балуюсь косаптой :)
 
143 / 50 (2) ++++
Регистрация: 23.04.2003
Адрес: Moscow
Цитата:
Г-н konfet ! Скажите, вы когда-нибудь пробовали заполнять темповую таблицу, ну, хотябы, строками накладных хотя бы за один год??
Даже когда никого в базе нет, и бд позволяет грязное чтение?
конечно, речь не идет о транзакционных таблицах. Кроме того, если данных много, можно всё сразу не забивать а использовать конструкцию типа "if exists <> else insert <>" - как советуют выше по треду для мапов.

Цитата:
И сколько такая таблица будет течь на клиента? А как её джойнить с нормальной на сервере
запросто - если темповая таблица главная
__________________
Бесты и регарды!
Старый 20.09.2005, 22:59   #27  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
При джойне к темповой таблице постоянной на сервер будут идти запросы для каждой строки темповой таблицы (по-моему, я уже могу эту фразу прицепить себе в подпись )

Цитата:
Кроме того, если данных много, можно всё сразу не забивать а использовать конструкцию типа "if exists <> else insert <>" - как советуют выше по треду для мапов.
Каким образом это сделать, если табицы соединены?
__________________
Axapta v.3.0 sp5 kr2
Старый 21.09.2005, 09:28   #28  
Delfins is offline
Delfins
Участник
 
320 / 39 (2) +++
Регистрация: 20.09.2005
Адрес: Riga, Latvia
Цитата:
Изначально опубликовано AndyD

Не могли бы вы пояснить, что имеется в виду?
GlobalCache штука глобальная (на сессию юзера)...

Сделал примерчик.. запустите форму, закройте и запустите еще раз...

ПС: используя GlobalCache в формах надо clear-ить закешированые данные (по надобносте конечно)


Вложения
Тип файла: xpo testglobalcache.xpo (3.1 Кб, 279 просмотров)
Старый 21.09.2005, 09:48   #29  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Ну это-то мне понятно. На то он и кэш.

Мне непонятна фраза про единственный плюс. Не могли бы вы поянить на примере, относящемся именно к дисплейным методам
__________________
Axapta v.3.0 sp5 kr2
Старый 21.09.2005, 11:03   #30  
Delfins is offline
Delfins
Участник
 
320 / 39 (2) +++
Регистрация: 20.09.2005
Адрес: Riga, Latvia
Dopustim, est' kakoje to pole, vichislenie kotorogo zanimajet mogo vremenji.

Vichislili, zakeshirovali, pokazali...

Est' vtoraja forma, gde takoe zhe pole nuzho pokazat'... vot i berem iz GlobalCache

Konechno - redkij sluchaj... no vse taki...

Realizacija GlobalCache takaja zhe, kak i self-made cache na formah (~ tot-ze v LedgerBalancepole v LedgerTable forme)

PS: ne nado tak blizko vosprinimat' vsju sut'

PPS: tak ili inache, s GlobalCache nado proverat'- est'li on v cache (isSet(owner,key))
Старый 21.09.2005, 11:24   #31  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Цитата:
ne nado tak blizko vosprinimat' vsju sut'
Извините, просто если я чего-то не понимаю, то я разбираюсь доступными мне средствами. Вы высказали мысль, которая мне не понятна, вот я и прошу уточнений.

Возвращаясь к теме - использовать GlobalCache не для хранения вычисленных значений полей, а для передачи в дисплейный метод на таблице параметров, необходимых для вычисления. А кэшированием данных пусть занимается ядро, думаю в нем это реализовано эффективнее.
__________________
Axapta v.3.0 sp5 kr2
Старый 13.02.2006, 09:54   #32  
NAST is offline
NAST
Участник
 
24 / 10 (1) +
Регистрация: 21.09.2005
У меня такая задача.
Контрол на форме, в зависимости от его значения меняется контрол в гриде(дисплей метод на таблице).
Используя infolog все работает почти хорошо ...
Те данные, которые уже видны - они закэшировались. Листаем дальше все нормально.
Подскажите, как обновить данные видимые на экране и уже закэшированные? Обновление по executeQuery() - не совсем удачное - смещается курсор
Старый 13.02.2006, 10:34   #33  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Цитата:
смещается курсор
Ну курсор легко опять спозиционировать на записи, которая была текущей до обновления. Или я чего-то не понял?
Старый 13.02.2006, 11:04   #34  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Для обновления закешированных данных есть метод cacheCalculateMethod() на датасоурсе, но он обновляет только текущую запись.

Что бы быстро отпозиционировать на нужную запись по executeQuery() можно воспользоваться механизмом jumpref, т.е. заполнить lookupField() и lookupValue() для Args() формы
__________________
Axapta v.3.0 sp5 kr2
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axaptapedia: Display method Blog bot DAX Blogs 0 29.08.2007 16:30
Grid и display-метод Russland DAX: Программирование 20 09.04.2007 09:25
Говорят вышел SP2 для Axapta 3. Кто нибуть что знает на эту тему? soin DAX: Прочие вопросы 10 13.10.2003 10:43
display() method on Grid Control DK DAX: Программирование 5 31.01.2003 22:09
edit и display методы Maxim Gorbunov DAX: База знаний и проекты 4 15.01.2002 12:58

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

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

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