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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.04.2006, 10:20   #1  
Cheb is offline
Cheb
Участник
Лучший по профессии 2017
 
138 / 13 (1) ++
Регистрация: 22.09.2002
Адрес: Ростов-на-Дону -> Москва
Здравствуйте.
Как можно сбросить все фильтры, установленные для таблицы, кроме фильтра, установленного с помощью MARK? Неужели нужно перебирать все поля SETRANGE(FieldN)?
Старый 06.04.2006, 10:36   #2  
Kirvisniemi is offline
Kirvisniemi
Moderator
 
342 / 13 (1) ++
Регистрация: 21.12.2004
Это сложно?
Старый 06.04.2006, 12:42   #3  
TarasNBV is offline
TarasNBV
Участник
 
28 / 10 (1) +
Регистрация: 23.07.2005
Адрес: Ukraine
Я думаю, что есть еще один вариант:
допустим есть табличка Rec1 у которой установлены фильтры (в т.ч. и фильтр MARK)

Создаем Rec2 того же типа, что и Rec1. Делаем :

Rec2 := COPY(Rec1);
Rec1.RESET;
Rec2.MARKONLY(TRUE);
IF Rec2.FIND('-') THEN REPEAT
Rec1.GET(Rec2.xxx, Rec2.xxx);
Rec1.MARK(TRUE);
UNTIL Rec2.NEXT = 0;
Старый 06.04.2006, 13:02   #4  
Cheb is offline
Cheb
Участник
Лучший по профессии 2017
 
138 / 13 (1) ++
Регистрация: 22.09.2002
Адрес: Ростов-на-Дону -> Москва
Цитата:
Сообщение от Taras Посмотреть сообщение
Я думаю, что есть еще один вариант:
допустим есть табличка Rec1 у которой установлены фильтры (в т.ч. и фильтр MARK)

Создаем Rec2 того же типа, что и Rec1. Делаем :

Rec2 := COPY(Rec1);
Rec1.RESET;
Rec2.MARKONLY(TRUE);
IF Rec2.FIND('-') THEN REPEAT
Rec1.GET(Rec2.xxx, Rec2.xxx);
Rec1.MARK(TRUE);
UNTIL Rec2.NEXT = 0;
Именно так я делал. Спасибо.
Старый 06.04.2006, 13:52   #5  
Kirvisniemi is offline
Kirvisniemi
Moderator
 
342 / 13 (1) ++
Регистрация: 21.12.2004
Сброс фильтров - более правильное решение. Скорость работы не будет зависить от количества marked-записей
Старый 06.04.2006, 15:15   #6  
Cheb is offline
Cheb
Участник
Лучший по профессии 2017
 
138 / 13 (1) ++
Регистрация: 22.09.2002
Адрес: Ростов-на-Дону -> Москва
В общем, нашел еще два варинта:
1. Скопировать фильтры с помощью COPYFILTERS из другой переменной, на которую заведомо не наложено никаких фильтров.
2. Сбросить фильтры с помощью SETVIEW.
Старый 06.04.2006, 15:32   #7  
rootadmin is offline
rootadmin
Участник
Аватар для rootadmin
 
224 / 10 (1) +
Регистрация: 25.03.2003
Адрес: Москва
Еще вариант - использовать GETFILTERS.
Потом пробегаться уже не по всем полям, а только по тем, на которые наложен фильтр.
__________________
С уваженем,
rootadmin
 


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

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

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