AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.08.2005, 14:15   #1  
SSM is offline
SSM
Участник
 
18 / 27 (1) +++
Регистрация: 17.03.2005
Настройка фильтра
Как настройку фильтра загрузить для другого пользователя?
За это сообщение автора поблагодарили: mazzy (17).
Старый 26.08.2005, 18:42   #2  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
Найти нужную запись в таблице SysLastValue и скопировать найденную запись в новую запись, изменив при этом значение поля userId на код нужного юзера.

Скорее всего, это можно сделать только программно, т.к. в поле value содержится контейнер.


Вот пример, который копирует ВСЕ настройки от одного пользователя другому.


PHP код:
static void main(Args _args)
{
    
SysLastValue    sysLastValue;
    
SysLastValue    newSysLastValue;
    
UserId          origUser;
    
UserId          destUser;
    
dialog          dialog = new Dialog("Копирование настроек пользователей");
    
DialogField     f_origUser,f_destUser;
    ;
    
f_origUser dialog.addField(typeid(userId), "Имя пользователя, от которого копировать настройки:");
    
f_destUser dialog.addField(typeid(userId), "Имя пользователя, которому копировать настройки:");
    if (
dialog.run())
    {
        
origUser f_origUser.value();
        
destUser f_destUser.value();

        
delete_from sysLastValue where sysLastValue.userId == destUser;

        
ttsbegin;
        while 
select sysLastValue where sysLastValue.userId == origUser &&
            !
sysLastValue.isKernel
        
{
            
newSysLastValue.clear();
            
newSysLastValue.userId destUser;
            
newSysLastValue.recordType sysLastValue.recordType;
            
newSysLastValue.elementName sysLastValue.elementName;
            
newSysLastValue.designName sysLastValue.designName;
            
newSysLastValue.company sysLastValue.company;
            
newSysLastValue.value sysLastValue.value;
            
newSysLastValue.insert();
        }
        
ttscommit;
        
info("Настройки скопированы.");
    }


Для копирования настроек фильтра нужно модифицировать этот код:
1) определить к какому объекту (форме или отчету) относится фильтр
2) узнать имя этого объекта
3) и модифицировать код так:
PHP код:
delete_from sysLastValue where sysLastValue.userId == destUser &&
            
sysLastValue.RecordType == <Тип объекта> &&
            
sysLastValue.ElementName == <Имя объекта>

;

ttsbegin;
while 
select sysLastValue where sysLastValue.userId == origUser &&
            !
sysLastValue.isKernel &&
            
sysLastValue.RecordType == <Тип объекта> &&
            
sysLastValue.ElementName == <Имя объекта
За это сообщение автора поблагодарили: Atar (2).
Теги
axapta, faq, syslastvalue, настройка пользователя

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Настройка Внутрихолдингового учета в DAX 4.0 и DAX 3.0 GLU DAX: Функционал 30 21.11.2008 17:58
Настройка учета основных средств maksimn DAX: Функционал 0 11.01.2008 07:59
Настройка предоплат в условиях оплаты tony DAX: Функционал 0 10.09.2003 08:46
Свой диалог фильтра Vadik DAX: Программирование 7 31.01.2003 19:20
Настройка форм для групп пользователей Роман Кошелев DAX: Функционал 14 05.08.2002 16:32

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:37.