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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.04.2008, 14:31   #1  
by_HT is offline
by_HT
Участник
 
195 / 10 (1) +
Регистрация: 12.10.2007
В форме мне нужно вывести список записей с фильтром:
SETFILTER("VAT Registration No.",'<>%1',"VAT Registration No.");
Чтобы записи с одинаковым значением в поле: "VAT Registration No.", не выводились...
Так и не разобрался с этими событиями OnFindRecord и OnNextRecord...
Может потскажете что делать?
Старый 09.04.2008, 15:19   #2  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Если я правильно понял, вы хотите увидеть только по одной записи на каждый ИНН.
Мне кажется, проще не с этими тригерами играться, а завести все в темповую таблицу и сделать Form.Run (не забудьте FORm.EDITABLE=false СДЕЛАТЬ).
Хотя тут зависит все от задачи...
Старый 09.04.2008, 15:42   #3  
by_HT is offline
by_HT
Участник
 
195 / 10 (1) +
Регистрация: 12.10.2007
да вы правельно все поняли...
Но я не понял к чему делать Форм.РАН???
Старый 09.04.2008, 17:13   #4  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Цитата:
Сообщение от by_HT Посмотреть сообщение
да вы правельно все поняли...
Но я не понял к чему делать Форм.РАН???
Вы же сказали, что Вам надо на форме отфильтровать. Вот я и предложил перед запуском формы все отработать и передать темповую запись в существующую форму (запустив ее).
Старый 09.04.2008, 18:03   #5  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от by_HT Посмотреть сообщение
да вы правельно все поняли...
Но я не понял к чему делать Форм.РАН???
На Form - OnInit() (если хотите использовать новую форму):
1. заводите переменную Record
2. Rec := Record (где-то недавно уже обсуждалось на форуме, но точно не помню где)

или в любой другом объекте или форме перед запуском:

1. заводите переменную Record
2. заполняете ее нужными записями (если знаете как!! если под SQL, то просто правите малеха запрос в данной части с DISTINCT)
3. FORM.RUN("название формы", Record) или IF FORM.RUNMODAL(4711, Record, ...) = Action::LookupOK THEN...
Старый 10.04.2008, 10:11   #6  
by_HT is offline
by_HT
Участник
 
195 / 10 (1) +
Регистрация: 12.10.2007
Ну форму я запускаю так:

SCB.SETFILTER(Type,'=%1',SCB.Type::Rek);
FormSCB.SETTABLEVIEW(SCB);
FormSCB.SETRECORD(SCB);
FormSCB.RUNMODAL;

что то не понимаю... может пример какой-нить?
Старый 10.04.2008, 10:25   #7  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Цитата:
Сообщение от by_HT Посмотреть сообщение
Ну форму я запускаю так:

SCB.SETFILTER(Type,'=%1',SCB.Type::Rek);
FormSCB.SETTABLEVIEW(SCB);
FormSCB.SETRECORD(SCB);
FormSCB.RUNMODAL;

что то не понимаю... может пример какой-нить?
R - запись Temporary = ДА
Код:
R.Code := 'r1';
R.INSERT;
R.Code := 'r2';
R.INSERT;
FORM.RUNMODAL(0,R);
Выведет 2 записи.
Еще раз советую сделать ее нередактируемой, так как тригеры onValidate сработают даже на Temporary = ДА

P.S. Вам необходимо прогнать цикл по записям и вставить их в темповую таблицу (с отличным НДС)
Код:
IF RECORD.FIND('-') THEN
	REPEAT
		 TMPREC.SETRANGE("Vat",RECORD."Vat");
		 IF TMPREC.ISEMPTY THEN BEGIN
			   TMPREC :=  RECORD;
			   TMPREC.INSERT;
		 END; 
   UNTIL RECORD.NEXT = 0;
Старый 10.04.2008, 10:39   #8  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от by_HT Посмотреть сообщение
Ну форму я запускаю так:

SCB.SETFILTER(Type,'=%1',SCB.Type::Rek);
FormSCB.SETTABLEVIEW(SCB);
FormSCB.SETRECORD(SCB);
FormSCB.RUNMODAL;

что то не понимаю... может пример какой-нить?
Извините, но где здесь:
- заполнение уникальными записями переменной "Record"?
- передача этиго идентификатора в RUNMODAL (например FORM.RUNMODAL(4711, "Record") )?
 


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

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

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