AXForum  
Go Back   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 13.01.2011, 10:57   #1  
VasVovec is offline
VasVovec
Участник
VasVovec's Avatar
 
145 / 10 (1) +
Join Date: 13.04.2007
Не могу разобраться почему так происходит.
Делаю тестовую табличную форму например на таблице Item.
Добавляю TextBox1 c переменной txt.
Code:
OnValidate

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

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

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

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

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

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

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

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

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


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 15:40.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.