Показать сообщение отдельно
Старый 04.10.2010, 11:58   #1  
tricky is offline
tricky
Участник
 
140 / 64 (3) ++++
Регистрация: 03.05.2005
Адрес: Гуково
Универсальный запоминатель пользовательских настроек DataSource.
Уважаемые коллеги, представляю вашему вниманию класс, позволяющий автоматически запоминать пользовательские настройки запроса (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 (для четверки не пробовал, но, думаю, проблем не будет).

Спасибо за внимание .
Вложения
Тип файла: xpo Class_DEV_SaveableQueryRun.xpo (9.1 Кб, 330 просмотров)

Последний раз редактировалось mazzy; 04.10.2010 в 13:05. Причина: добавил слово "автоматически" в описание.
За это сообщение автора поблагодарили: lev (2).