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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.04.2007, 18:35   #1  
foxsoft2005 is offline
foxsoft2005
Участник
Аватар для foxsoft2005
 
93 / 10 (1) +
Регистрация: 21.11.2006
Всем привет!

Собственно, вопрос вот какой:
есть переменная типа record, для данной переменной вызывается модально форма, в которой пользователь через Ctrl + F1 маркирует записи. Можно ли вернуть эти записи после того, как пользователь, промаркировав нужное, нажал кноку Ок?
__________________
"И лишь патологоанатом не берет работу на дом" (с) Вишневский
Старый 11.04.2007, 19:19   #2  
balashov is offline
balashov
Участник
Аватар для balashov
 
78 / 10 (1) +
Регистрация: 01.09.2005
Цитата:
Сообщение от FoxSoft2005 Посмотреть сообщение
Всем привет!

Собственно, вопрос вот какой:
есть переменная типа record, для данной переменной вызывается модально форма, в которой пользователь через Ctrl + F1 маркирует записи. Можно ли вернуть эти записи после того, как пользователь, промаркировав нужное, нажал кноку Ок?
Можно чуть по другому сделать:
Пример:
Код:
IF fWarehouseShipmentList.RUNMODAL = ACTION::LookupOK THEN BEGIN
  fWarehouseShipmentList.SetSelection(pWarehouseShipmentHeader);
  fWarehouseShipmentList.GETRECORD(pWarehouseShipmentHeader);
  IF pWarehouseShipmentHeader.FIND('-') THEN 
	repeat
	  //в цикле получаеш эти записи
	until pWarehouseShipmentHeader.NEXT=0;
Ну а в самой списочной форме которая будет открываться для выбора нужна новая функция:
Код:
SetSelection(VAR pWarehouseShipmentHeader : Record "Warehouse Shipment Header")
CurrForm.SETSELECTIONFILTER(pWarehouseShipmentHeader);
причем пользователю достаточно выделить выбранные записи, не нажимая cntrl + F11
Старый 11.04.2007, 22:15   #3  
foxsoft2005 is offline
foxsoft2005
Участник
Аватар для foxsoft2005
 
93 / 10 (1) +
Регистрация: 21.11.2006
Отличная идея! Весьма Вами благодарен!
__________________
"И лишь патологоанатом не берет работу на дом" (с) Вишневский
Старый 12.04.2007, 09:41   #4  
foxsoft2005 is offline
foxsoft2005
Участник
Аватар для foxsoft2005
 
93 / 10 (1) +
Регистрация: 21.11.2006
Все работает, спасибо!
Только одна поправка: перед модальным вызовом формы нужно добавить

[codebox]fWarehouseShipmentList.LOOKUPMODE := TRUE[/codebox]
__________________
"И лишь патологоанатом не берет работу на дом" (с) Вишневский
Старый 12.04.2007, 10:41   #5  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
А еще можно в вызываемой модально форме написать функцию, назвать ее допустим GetCopyRec(). В качестве параметра VAR передавать ей тот же рек, на котором построена форма. Текст функции

Код:
GetMarketRec(VAR _Rec)
  _Rec.COPY(Rec);
Тогда вы можете получать маркированные (да и как вы понимаете любые другие записи, ибо COPY копирует фильтры, марки и тд) записи. Вызов подобен этому :

Код:
_Form.SETTABLEVIEW(НужнаяРека);
_Form.LOOKUPMODE(TRUE);
IF _Form.RUNMODAL = ACTION::LookupOK THEN BEGIN
  _Form.GetCopyRec(НужнаяРека);
END;
После этого можно вызывать НужнаяРека.MARKEDONLY(TRUE);, бегать по ней в цикле, что угодно ...
 


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

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

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