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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.09.2013, 18:56   #1  
zuzka is offline
zuzka
Участник
Аватар для zuzka
 
131 / 10 (1) +
Регистрация: 29.07.2013
Коллега активно убеждает в реальности изменения панели фильтрации в RTC (конкретно что туда можно всунуть фильтрацию по рассчетной переменной). Как я понял в экспресс фильтр подгребаются поля из списка на странице... Скрин панели и описание с MSDN прилагается.
Миниатюры
Нажмите на изображение для увеличения
Название: 1.JPG
Просмотров: 413
Размер:	37.9 Кб
ID:	10740  
__________________
Как только вы проиграете, все ваши прошлые победы забудут.
Старый 24.09.2013, 12:56   #3  
zuzka is offline
zuzka
Участник
Аватар для zuzka
 
131 / 10 (1) +
Регистрация: 29.07.2013
Цитата:
Сообщение от AlexB Посмотреть сообщение
Изучил с удовольствием, но будет ли оно работать по вычисляемому полю.... Через часок узнаем))
__________________
Как только вы проиграете, все ваши прошлые победы забудут.
Старый 24.09.2013, 17:40   #4  
zuzka is offline
zuzka
Участник
Аватар для zuzka
 
131 / 10 (1) +
Регистрация: 29.07.2013
Нужного результата добиться не удалось - да я и сразу говорил что такое врядли реализуемо (рассчетное поле по которому нужен был фильтр рассчитывается по типу из нескольких таблиц). Зато появилась другая мысль, но с ней новый вопрос: опять та же панель фильтров - можно как-то с нее выдернуть установленные пользователем фильтра? через FILTERGROUP(0) не пошло - кто в курсе как до фильтров достучаться?
__________________
Как только вы проиграете, все ваши прошлые победы забудут.
Старый 24.09.2013, 22:22   #5  
alexb_imported is offline
alexb_imported
Участник
 
256 / 12 (1) ++
Регистрация: 25.08.2006
Цитата:
Сообщение от zuzka Посмотреть сообщение
...опять та же панель фильтров - можно как-то с нее выдернуть установленные пользователем фильтра? через FILTERGROUP(0) не пошло - кто в курсе как до фильтров достучаться?
До установленных пользователем фильтров "достукиваются" обычно GETFILTERS(). В F1-Help'е по всем командам даны довольно полные разъяснения и даже с примерами.
Подсунуть фильтр (причём по любому полю таблицы а не только из экспресс-фильтра!) - например:
Код:
SalesOrder.SETRANGE("Document Type",SalesOrder."Document Type"::Order);
SalesOrder.SETRANGE("No.",'101005','101020');
PAGE.RUNMODAL(PAGE::"Sales Order List",SalesOrder);
Если вы ищете требуемые вам SalesOrder по данным из других таблиц, то без временной переменной (property Temporary=Yes) вам не обойтись:
Код:
SalesOrder.SETRANGE("Document Type",SalesOrder."Document Type"::Order);
SalesOrder.SETRANGE("No.",'101005','101020');
IF NOT SalesOrder.ISEMPTY THEN BEGIN
  SalesOrder.FINDSET;
  REPEAT
    SalesOrderTmp:= SalesOrder;
    SalesOrderTmp.INSERT;
  UNTIL SalesOrder.NEXT = 0;
END;
PAGE.RUNMODAL(PAGE::"Sales Order List",SalesOrderTmp);
В таком варианте конечно фильтры не подсовываются, но пользователь видит 100%-но только те записи, список которых вы ему "подсовывете".
Внимание: записи собранные во временную переменную надо показывать обычно в page с Editable=No, т.к. изменения во врем. таблицах не сохраняются.
В приведённом варианте пользователь открывает карту из списка и в карте производит нужные изменения.

Итак, определитесь, что вы хотите "подсунуть" пользователю:
1) фильтр, который пользователь видит и может изменить
2) или записи, предварительно отфильтрованные прогр. кодом

И последнее: если ваш коллега активно вас убеждает в каких-то возможностях NAV'а, то почему он вам опять же активно не покажет то в чём убеждает?
Или это тот классический вариант: знаю, но тебе не скажу, ищи решение сам?
Старый 26.09.2013, 10:34   #6  
zuzka is offline
zuzka
Участник
Аватар для zuzka
 
131 / 10 (1) +
Регистрация: 29.07.2013
F1 - пока главный путеводитель по C/AL.
По поводу фильтров: в панели фильтрации пользователь может установить любые фильтра по любым полям - именно эти фильтра и надо вытащить... На сколько я понимаю они объединяются в FILTERGROUP(0) - но пока достучаться до этой группы не получается (возможно не оттуда "стучу"). Просто опыта в NAV разработке всего 2 месяца - но активно учусь)))
На счет коллеги - так и работаем: "Это можно сделать - делай, как сама не знаю. Но точно можно!" - и приходится самому решать как реализовать...
__________________
Как только вы проиграете, все ваши прошлые победы забудут.
Старый 26.09.2013, 15:41   #7  
alexb_imported is offline
alexb_imported
Участник
 
256 / 12 (1) ++
Регистрация: 25.08.2006
Цитата:
Сообщение от zuzka Посмотреть сообщение
... именно эти фильтра и надо вытащить... На сколько я понимаю они объединяются в FILTERGROUP(0) - но пока достучаться до этой группы не получается (возможно не оттуда "стучу"). Просто опыта в NAV разработке всего 2 месяца...
Недостающий опыт здесь не причём, вам нужно просто внимательно прочитать мой предыдущий ответ.

Цитата:
Сообщение от zuzka Посмотреть сообщение
На счет коллеги - так и работаем: "Это можно сделать - делай, как сама не знаю. Но точно можно!"
Интересная у вас коллега! А вы ей на такого рода заявления скажите в ответ что-то вроде: "Это невозможно сделать. Почему - не знаю. Но точно невозможно!"
Старый 27.09.2013, 13:38   #8  
zuzka is offline
zuzka
Участник
Аватар для zuzka
 
131 / 10 (1) +
Регистрация: 29.07.2013
Цитата:
Сообщение от AlexB Посмотреть сообщение
Недостающий опыт здесь не причём, вам нужно просто внимательно прочитать мой предыдущий ответ.
Удалось вытащить фильтра (при нажатии на тестовую кнопку) в текстовую переменную через GETFILTERS. Почему при нажатии на кнопку? - при срабатывании фильтра не к чему привязаться...
Все же мне кажется есть возможность более элегантного решения...
__________________
Как только вы проиграете, все ваши прошлые победы забудут.
Старый 27.09.2013, 14:21   #9  
zuzka is offline
zuzka
Участник
Аватар для zuzka
 
131 / 10 (1) +
Регистрация: 29.07.2013
Может кому-нибудь пригодится...
Фильтра наложеные через Filter Pane в RTC можно выловить через конструкцию:
Код:
Text := GETVIEW;
таблица.SETVIEW(Text);
Все гениальное просто....
__________________
Как только вы проиграете, все ваши прошлые победы забудут.
 

Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 09:16.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.