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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.04.2010, 20:50   #1  
Varmen is offline
Varmen
Участник
 
190 / 13 (1) ++
Регистрация: 02.10.2007
программно сохранить пользовательский запрос
пытаюсь создать и сохранить программно пользовательский запрос по именем.

я так понимаю нужно сделать ranges вызвать queryRun.pack() формы?


пытаюсь создать и сохранить программно пользовательский запрос поД именем.
__________________
The Variable men power.

Последний раз редактировалось Varmen; 27.04.2010 в 21:14.
Старый 27.04.2010, 21:02   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
а можно еще раз повторить задачу?
что значит "по именем"?
__________________
полезное на axForum, github, vk, coub.
Старый 27.04.2010, 21:10   #3  
Varmen is offline
Varmen
Участник
 
190 / 13 (1) ++
Регистрация: 02.10.2007
любому фильтру пользователь задать имя и сохранить для последующего использования.
Правкая кнопка на форме, "сохранить фильтр как"
__________________
The Variable men power.
Старый 27.04.2010, 21:12   #4  
Varmen is offline
Varmen
Участник
 
190 / 13 (1) ++
Регистрация: 02.10.2007
задача создать определенное количество сохраненных фильтров.
Причем фильтры сами делаются тоже программно.


Нашел SysQuery.packRangeandSortOrder...
__________________
The Variable men power.

Последний раз редактировалось Varmen; 27.04.2010 в 21:27.
Старый 28.04.2010, 00:12   #5  
Varmen is offline
Varmen
Участник
 
190 / 13 (1) ++
Регистрация: 02.10.2007
невыходит каменный цветок.

X++:
    args = new args();
    args.name("InventTable");
    args.caller(this);
 
    f = classfactory.formRunClass(args);
    f.init();
    f.run();
 
    ds= f.dataSource();
    qr =ds.queryRun();
 
    qr.query().dataSourceNo(1).addRange(fieldnum( InventTable, ItemId)).value('6*');
    qr.query().name("MMM");
 
    designName=ds.name();
    name="F:"+ ds.name();
 
   classFactory.lastValuePut( sysquery::packRangeAndSortorder(qr.query()),
                             curext(),
                             curuserid(),
                             UtilElementType::UserSetupQuery,
                             name,
                             designName
                             );
сей код делает запись в syslastvalue, сохраненное значение различается, от того что получается в результате ручного сохранения того же фильтра.
Что различно:
1. Нет имени, собственно непонятно как и где его сформировать.
2. Значение в поле Value, различается тем что мое значение содрежит только часть "хвост", того что сохраняет система.
Т.е я сохраняю query, а система что то двумя уровнями выше.
Миниатюры
Нажмите на изображение для увеличения
Название: сисластвалуе.PNG
Просмотров: 285
Размер:	30.2 Кб
ID:	5760  
__________________
The Variable men power.

Последний раз редактировалось Varmen; 28.04.2010 в 00:55.
Старый 28.04.2010, 00:21   #6  
Varmen is offline
Varmen
Участник
 
190 / 13 (1) ++
Регистрация: 02.10.2007
Classes\SysSetupFormRun\task

X++:
public int task(int _p1)
{
    #task
    FormDataSource formDataSource;
    int ret;
    if (_p1 == #taskFilter)
    {
        formDataSource = this.objectSet();
        if (formDataSource &&
            formDataSource.queryRun() &&
            formDataSource.queryRun().args() &&
            !formDataSource.queryRun().args().caller())
        {
            formDataSource.queryRun().args().caller(this);
        }
    }
    ret = super(_p1);
    return ret;
}
строка с супером,сохраняет фильтр и уходит в системный обект FormRun Task, который собственно и рулит парадом и не поддается дебагу.
__________________
The Variable men power.
Старый 28.04.2010, 00:23   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Varmen Посмотреть сообщение
любому фильтру пользователь задать имя и сохранить для последующего использования.
Правкая кнопка на форме, "сохранить фильтр как"
не понимаю, а чем вас стандартный функционал не устраивает?

любая форма Ctrl+F3
в правом верхнем углу кнопка Изменить \ Сохранить как
Миниатюры
Нажмите на изображение для увеличения
Название: 1.png
Просмотров: 244
Размер:	49.7 Кб
ID:	5761  
__________________
полезное на axForum, github, vk, coub.
Старый 28.04.2010, 00:32   #8  
Varmen is offline
Varmen
Участник
 
190 / 13 (1) ++
Регистрация: 02.10.2007
меня он полностью устраивает, я его хочу только jobом программно создать, пару десятков фильтров с заданным именем и все.
__________________
The Variable men power.

Последний раз редактировалось Varmen; 28.04.2010 в 00:37.
Старый 28.04.2010, 00:35   #9  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Varmen Посмотреть сообщение
от того что получается в результате ручного сохранения того же фильтра.
Ага. про "ручное сохранение" известно. что радует.

чувствую себя тормозом.
какая задача то стоит?

Цитата:
любому фильтру пользователь задать имя и сохранить для последующего использования. Правкая кнопка на форме, "сохранить фильтр как"
Что это означает?

И почему эта задача не решается тривиальным описанием.
1. Пользователь задает любой фильтр
2. Нажимает Ctrl+F3 (или иконку на панели инструментов)
3. видит свой фильтр
4. нажимает на кнопку Изменить \ Сохранить как.

Обязательно надо на правую кнопку мыши повесить?
__________________
полезное на axForum, github, vk, coub.
Старый 28.04.2010, 00:36   #10  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Varmen Посмотреть сообщение
меня он полностью устраивает, я его хочу только jobом программно создать пару десятков фильтров с заданным именем и все.
зачем?
__________________
полезное на axForum, github, vk, coub.
Старый 28.04.2010, 00:40   #11  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Varmen Посмотреть сообщение
меня он полностью устраивает, я его хочу только jobом программно создать, пару десятков фильтров с заданным именем и все.
может быть перед вами стоит задача:
дать нескольким пользователям предопределенные фильтры в некоторых формах?

дык, эта задача не так решается:
заходите под своим именем.
настраиваете фильтры в форме (без программирования)
а потом job'иком копируете свою настройку другим

где-то на форуме был этот Job'ик копирования любых настроек из sysLastValue.
__________________
полезное на axForum, github, vk, coub.
Старый 28.04.2010, 00:48   #12  
Varmen is offline
Varmen
Участник
 
190 / 13 (1) ++
Регистрация: 02.10.2007
Хотелось бы узнать можно ли сделать это тем путем который я избрал?
По поводу копирования:
Ведь раздать фильтры это пол беды.
Их нужно сделать, аккуратно правильно без ошибок.
Переносить по разным апликациям, базам данных.

Куда легче запустить созданный джобик, который одним махом сделает фильтры. В любом приложениии! При надобности и размножит по юзерам.

Меня интересует смогу ли я в приниципе повторить то что делает система или нет?
Может можно как нибудь pack()ами одолеть?
__________________
The Variable men power.

Последний раз редактировалось Varmen; 28.04.2010 в 00:57.
Старый 28.04.2010, 00:55   #13  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Varmen Посмотреть сообщение
Куда легче запустить созданный джобик, который одним махом сделает фильтры.
Сделает?
А отлаживать эти фильтры как будете? А если фильтры в будущем поменяются, то будете джобик переписывать?

В том то и дело, что под своим логином удобно держать все такие фильтры.
Нормальными штатными средствами их просматривать, править, отлаживать.

А уж потом простейшим и неизменным джобиком копировать куда надо (в том числе и по другим "аппликациям").

Цитата:
Сообщение от Varmen Посмотреть сообщение
Меня интересует смогу ли я в приниципе повторить то что делает система или нет?
А... ну, тоже неплохое желание. Отчего бы благородному дону не попробовать.
__________________
полезное на axForum, github, vk, coub.
Старый 28.04.2010, 01:03   #14  
Varmen is offline
Varmen
Участник
 
190 / 13 (1) ++
Регистрация: 02.10.2007
Mazzy, Вы собственно уже помогли мне, нехотя напомнили про альтернативный путь сохранения фильтра в форме CTRL F3, так вот в там в форме спрятан метод SaveQuery !!! В отличии от контекстного меню код там открыт "бери нехочу".
Спасибо!!!
Пошел смотреть его. )))
__________________
The Variable men power.
Теги
сохраниние настроек, фильтр

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
пользовательский запрос к базе данных Nikolaich DAX: Функционал 3 19.01.2009 17:20
как сохранить запрос в таблице kitty DAX: Программирование 13 19.11.2007 20:16
Почему join запрос разбивается на подзапросы!? 3oppo DAX: Программирование 59 28.06.2007 11:52
при построении перекрёстных ссылок выдаётся сообщение об ошибках mmmax DAX: Программирование 10 21.01.2005 12:42
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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