В Axapta, начиная с версии 2.5, был добавлен механизм полного кэширования таблиц. Если для таблицы Axapta в AOT программист установил значение свойства CacheLookup равным EntireTable, Axapta будет загружть в кэш все строки таблицы при первом обращении к ней. Для больших таблиц такая загрузка может занять значительное время, поэтому каждый пользователь, учитывая то, какие данные он использует, может отключить кэширование определенных таблиц в форме "Параметры". Однако Вам, как администратору системы, наверное, будет интересно узнать, что же это за "значительное время", которое Axapta тратит на этот процесс, а также какое количество записей Axapta фактически загружает при использовании полного кэширования. Для этих целей в Axapta было добавлено два новых предупреждения (Warning):
Код:
"Downloading the EntireTable-cached table 'myTab' in company 'DAT' exceeds
the time-threshold (1000 ms): 1234 milliseconds used [W-111]"
для случая, когда превышен настроенный порог в 1000мс на допустимое время заполнения кэша, и
Код:
"Downloading the EntireTable-cached table 'myTab' in company 'DAT' exceeds
the record-threshold (2000): 12345 record(s) retrieved [W-112]"
для случая, когда превышен настроенный порог в 2000 записей на допустимый максимальный размер кэшируемых данных.
Чтобы использовать эту функциональность, следует сделать две следующих вещи:
- В форме "Параметры" (Сервис - Параметры) на закладке SQL активизируйте мониторинг предупреждений.
- Установите значения порогов для времени (в миллисекундах) и/или количества записей с помощью следующих параметров командной строки Axapta:
Код:
-INTERNAL=ETCTIMELIMIT:msecs
-INTERNAL=ETCRECORDLIMIT:nrecords
Установить эти параметры можно либо в конфигурационной утилите на закладке General, либо непосредственно в командной строке при запуске клиента Axapta.