|
18.05.2004, 17:56 | #1 |
Участник
|
Вопрос: можно ли ввести в Navision данные не используя отдельную форму для ввода (к примеру, в codeunit)?
Ответ: Существует немного «извращенный» способ ввода данных в Navision, не используя форму при помощи окна ввода: <div class='CALtop'>C/AL</div><div class='CAL'> Var window : Dialog; BookingDate : Date; DocumentDate : Date; DeliveryDate : Date; EntryNo : Integer; NewEntryNo : Integer; Window.open ('Booking Date #1#########\'+ 'Dok. Date #2#########\'+ 'Shipment Date #3#########', BookingDate,DocumentDate,DeliveryDate); EntryNo := 0; NewEntryNo := 1; While (NewEntryNo > 0) and (EntryNo <> NewEntryNo) do begin EntryNo := NewEntryNo; Case EntryNo of 1 : NewEntryNo := Window.input(1,BookingDate); 2 : NewEntryNo := Window.input(2,DocimentDate); 3 : NewEntryNo := Window.input(3,DeliveryDate); end; end; window.close; if NewEntryNo = 0 then Exit; .. продолжение кода ... </div> В появившемся окне пользователь имеет возможность перемещаться по записям при помощи клавиш Вверх/Вниз или Tab/Shift+Tab. Функция Window.input возвращает номер следующего Entry Field если пользователь использует стрелки или Tab. Если пользователь выходит по Esc, то NewEntryNo = 0, если по Enter, то номер выбранного поля. В переменных сохраняются введенные значения. Единственное неудобство – отсутствие клавиши Enter на форме диалога.
__________________
Русский человек славится своим умением находить выход из самых трудных ситуаций, но еще более он славится своим умением находить туда вход. |
|