16.09.2004, 11:29 | #1 |
----------------
|
Как закэшировать таблицу для одного клиента
Занимаюсь закрытием склада (Ax3 sp3)
Обратил внимание на большое кол-во вызовов InventTable::find(..). Хочется от них избавиться путем изменения режима кэширования таблицы (cacheLookup = Found), но по некоторым причинам этого делать нельзя. Можно ли закэшировать InventTable для конкретного сеанса (клиента) без изменения св-ва CacheLookup и переписования вызовов find()? |
|
16.09.2004, 12:41 | #2 |
Модератор
|
Так ведь на InventTable уже стоит CacheLookup=Found ?
А чего надо добиться? Закэшировать таблицу целиком (CacheLookup=EntireTable) только для одного клиента? SysSQLEntireCache::setTableCache(_контейнер_TableId, _userId = curuserId) |
|
27.09.2004, 19:49 | #3 |
----------------
|
Продолжение
У нас происходит процесс переноса с 2.5 на 3.0. Так вот, в 2.5 у InventTable св-во CacheLookup = None, кроме того туда были добавлены поля, значения которых часто меняются и критичны для ценообразования (цена последнего прихода).
Хотелось бы сохранить прелесть кэширования и в то же время не порушить ценообразование. После раздумий и опытов было решено перечитывать InventTable в алгоритме ценообразования и оставить CacheLookup = Found. Кстати, приведенный код ничего не дал - таблица не кэшировалась. Если надо закэшировать какую-то таблицу, то можно использовать объект RecordViewCache. |
|
28.09.2004, 01:13 | #4 |
Модератор
|
Re: Продолжение
Цитата:
Изначально опубликовано Wamr
У нас происходит процесс переноса с 2.5 на 3.0. Так вот, в 2.5 у InventTable св-во CacheLookup = None, кроме того туда были добавлены поля, значения которых часто меняются и критичны для ценообразования (цена последнего прихода). "тонкие" клиенты обновляли бы EntireTable кэш даже сидя на разных AOS, и довольно оперативно. Правда, если номенклатуры десятки тысяч наименований и изменения частые, такое кэширование себе дороже Цитата:
Кстати, приведенный код ничего не дал - таблица не кэшировалась
похоже, это будет работать только для таблиц с EntireTableCache, у которых кэширование для пользователя отключено |
|
|
|