Уважаемые коллеги, представляю вашему вниманию класс, позволяющий
автоматически запоминать пользовательские настройки запроса (QueryRun) формы при ее закрытии, и последующем их
автоматическом восстановлении при следующем запуске формы. Данные сохраняются в разрезе пользователей и компаний.
По своей сути, является совершенно бестолковой вещью, т.к. существующий стандартный функционал (Ctrl+F3), позволяет сохранять и восстанавливать любые настройки в любое время. Однако, встречаются пользователи, которым бы хотелось пользоваться столь замечательной возможностью, но при этом не утруждать себя лишним клацаньем мышки )).
Пользоваться очень просто.
- В ClassDeclaration() формы объявляем переменную
X++:
DEV_SaveableQueryRun dev_SaveableQueryRun;
- Где-нибудь до запуска формы, например в методе init(), создаем экземпляр класса:
X++:
dev_SaveableQueryRun = DEV_SaveableQueryRun::construct(this);
- После super() в методе run() вставляем:
X++:
dev_SaveableQueryRun.formRunPost();
- Перед super() в методе close() вставляем:
X++:
dev_SaveableQueryRun.formClosePre();
Собственно, и все.
Кода и логики в классе зашито минимум - всем давно известный функционал xSysLastValue, но для не сталкивавшихся с ним, может быть интересен для рассмотрения.
Класс во вложении. Подходит как для Axapta 3.0, так и для AX2009 (для четверки не пробовал, но, думаю, проблем не будет).
Спасибо за внимание
.