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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.01.2011, 10:57   #1  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
Не могу разобраться почему так происходит.
Делаю тестовую табличную форму например на таблице Item.
Добавляю TextBox1 c переменной txt.
Код:
OnValidate

SETFILTER("Search Description",'*'+txt+'*');
IF FINDFIRST THEN;
И добавил еще один TextBox2 c переменной txt2, чтобы переходить на него после ввода текста в TextBox1 (чтобы сработал триггер OnValidate).
Компилирую.Запускаю.
Ввожу в TextBox1 какой-нибудь текст (например 11) и перехожу на TextBox2. При этом в таблице все нормально фильтруется.
НО когда я кликаю на какую-нибудь строчку в таблице выскакивает сообщение "Вы хотите переименовать запись?"
Почему так получается и как от этого избавиться?

Для эксперимента добавил на форму кнопку с кодом:
Код:
OnPush
 
SETFILTER("Search Description",'*11*');
IF FINDFIRST THEN;
При нажатии на эту кнопку все также фильтруется. И при этом можно спокойно переходить по записям, сообщение не выскакивает.
Но если в этот триггер дописать в конце
Код:
CurrForm.UPDATE;
То при нажатии список фильтруется и тут же выскакивает это "Вы хотите переименовать запись?"
Старый 13.01.2011, 11:31   #2  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
А потому что нечего баловаться на открытой форме с Setfilter и Findfist.
Создайте переменную _Item и напишите

OnValidate
_Item.SETFILTER("Search Description",'*'+txt+'*');
IF _Item.FINDFIRST THEN
get(_Item."No.")
else
...
Старый 13.01.2011, 11:40   #3  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
Что-то не могу найти как сообщения редактировать.

Дополню. Что если писать:
Код:
SETFILTER("Search Description",'*11*');
т.е. без последующего FINDFIRST
То тоже фильтруется, но строчка на которой стоит курсор (по умолчанию самая верхняя) не обновляется, поэтому я и добавляю FINDFIRST.
Видимо навижен думает что продолжает стоять на той же строчке а в поля подтягиваются значения найденные FINDFIRST'ом, и видимо поэтому и выскакивает это сообщение. Как это побороть?
Старый 13.01.2011, 11:41   #4  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
Цитата:
Сообщение от Fordewind Посмотреть сообщение
А потому что нечего баловаться на открытой форме с Setfilter и Findfist.
Создайте переменную _Item и напишите

OnValidate
_Item.SETFILTER("Search Description",'*'+txt+'*');
IF _Item.FINDFIRST THEN
get(_Item."No.")
else
...
Спасибо.
Ну вот я как раз в своих рассуждениях к этому и шел

А как быть когда в фильтр не попадает ни одной записи (то что после else)?
Старый 13.01.2011, 11:42   #5  
Milk is offline
Milk
Участник
 
242 / 12 (1) ++
Регистрация: 08.06.2006
Обычно помогает CurrForm.UPDATE(FALSE)
Старый 13.01.2011, 12:02   #6  
VasVovec is offline
VasVovec
Участник
Аватар для VasVovec
 
145 / 10 (1) +
Регистрация: 13.04.2007
Цитата:
Сообщение от Milk Посмотреть сообщение
Обычно помогает CurrForm.UPDATE(FALSE)
Спасибо Вылетело из головы
Старый 13.01.2011, 13:07   #7  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от VasVovec Посмотреть сообщение
Цитата:
Сообщение от Fordewind Посмотреть сообщение
А потому что нечего баловаться на открытой форме с Setfilter и Findfist.
Создайте переменную _Item и напишите

OnValidate
_Item.SETFILTER("Search Description",'*'+txt+'*');
IF _Item.FINDFIRST THEN
get(_Item."No.")
else
...
Спасибо.
Ну вот я как раз в своих рассуждениях к этому и шел

А как быть когда в фильтр не попадает ни одной записи (то что после else)?
Может быть, например

ELSE
Message('Записи не найдены');
 


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

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

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