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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.11.2007, 11:37   #1  
mefodiy is offline
mefodiy
Участник
 
96 / 10 (1) +
Регистрация: 08.07.2007
Есть таблица, которая выводится на экран. Записи, которые пользователь хочет видеть, он выбирает с помощью 3-х CheckBox-ов (которые в свою очередь управляют фильтрами 3-х полей с помощью SETFILTER). Все хорошо, но только вот когда убираем галочку со всех CheckBox-ов, то перед показом пустой таблицы выводится предупреждающее сообщение о том, что строк, удовлетворяющих таким фильтрам нет.
Вопрос в том, как избежать вывода на экран этого сообщения при условии показа пустой таблицы.
Спасибо.
Старый 02.11.2007, 11:46   #2  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
Текст ошибки запость.
Старый 02.11.2007, 11:49   #3  
TRIgor is offline
TRIgor
Участник
 
45 / 10 (1) +
Регистрация: 19.10.2007
Первое, что пришло в голову это воткнуть проверку на то, отключены ли ВСЕ ChekBox'ы и если ДА, то обходить код, который генерит это сообщение - не знаю правильно ли это?

P.S. Это стандартная функциональность? если Да - где ее посмотреть?
Старый 02.11.2007, 12:16   #4  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Навскидку:

1. Если записей в таблице нет, то сделать галочки неактивными и вывести большую надпись, что таблица пуста.
2. Проверить в коде как сбрасываются фильтры. Вроде, если все нормально написано, таких вещей быть не должно.
Старый 02.11.2007, 16:40   #5  
mefodiy is offline
mefodiy
Участник
 
96 / 10 (1) +
Регистрация: 08.07.2007
Нашел причину ошибки.
После команды SETFILTER у меня была прописана команда FIND('-'), которая и создавала ненужное сообщение.
Не нашел ничего лучше, как написать вместо просто FIND('-'):
IF FIND('-') THEN
FIND('-')
и проблема решилась.
Может у кого-нибудь есть вариант получше?
Старый 02.11.2007, 16:42   #6  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
Цитата:
Сообщение от mefodiy Посмотреть сообщение
Нашел причину ошибки.
После команды SETFILTER у меня была прописана команда FIND('-'), которая и создавала ненужное сообщение.
Не нашел ничего лучше, как написать вместо просто FIND('-'):
IF FIND('-') THEN
FIND('-')
и проблема решилась.
Может у кого-нибудь есть вариант получше?
Вариант получше всегда есть. Вот он.
Код:
IF FIND('-') THEN;
а можно и еще лучше

Код:
IF NOT ISEMPTY() THEN
  FIND('-');
Старый 02.11.2007, 17:15   #7  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от mefodiy Посмотреть сообщение
Нашел причину ошибки.
После команды SETFILTER у меня была прописана команда FIND('-'), которая и создавала ненужное сообщение.
Не нашел ничего лучше, как написать вместо просто FIND('-'):
IF FIND('-') THEN
FIND('-')
и проблема решилась.
Может у кого-нибудь есть вариант получше?
А зачем нужен здесь FIND ?
Если у Вас просто автоматическая фильтрация, то он не нужен.
Старый 03.11.2007, 10:30   #8  
mefodiy is offline
mefodiy
Участник
 
96 / 10 (1) +
Регистрация: 08.07.2007
Конечно вариант

IF NOT ISEMPTY() THEN
FIND('-');

с моей точки зрения самый правильный.
Всем спасибо
 


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

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

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