Цитата:
Сообщение от
n_yury
Не подскажите, как отключить кэширование данных (или очистить кэш) для всех таблиц? Читал форум, использовал что-то типа...
Вы на верном пути, но не учли, видимо, одно обстоятельство: Аксапта - трехуровневая система, где кроме СУБД и клиента есть еще АОС, так вот кэширование табличных данных происходит на двух уровнях: клиенте и АОСе, поэтому и сбрасывать кэш также нужно на двух уровнях, а если вы запускали приведенный код из джобика, то сбросили кэш лишь на клиенте.
Цитата:
Сообщение от
Ivanhoe
Попробуйте: SysGlobalObjectCache::clearAllCaches();
Мне кажется, название метода в данном случае надо трактовать в контексте соответствующего класса: он сбрасывает все кэши, использующие для хранения механизм SysGlobalObjectCache (т.е. разделяемые между всеми сессиями того или иного АОСа), а вовсе не сбрасывает "все кэши вообще", включая клиентский кэш объектов приложения и кэши табличных данных. К тому же SysGlobalObjectCache есть только в 2012-й.
PS. Насколько я понимаю, для данного конкретного АОСа и клиентской сессии сброс кэшей табличных данных происходит при вызове Dictionary::dataFlush() на клиенте и на сервере.