PdcApplication.ActiveObjectPickFilter: Difference between revisions

From External Bemet Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 8: Line 8:
Especially useful to set a filter expression in script. This expression is used in the picklist.
Especially useful to set a filter expression in script. This expression is used in the picklist.
== Code example ==
== Code example ==
In userexit SCR_BEFORECHOOSEDELIVERYLINE check for the [project number in the first line of an active delivery note.
In userexit SCR_BEFORECHOOSEDELIVERYLINE check for the project number in the first line of an active delivery note.
Give the projectnumber as result to the picklist.
Give the projectnumber as result to the picklist.


<source lang="vb">
<source lang="vb">
dim activewindow
dim Activewindow
dim activegrid
dim Activegrid
dim strFilter
dim strFilter
dim strCalcNo
dim strCalcNo
dim strProjectNo
dim strProjectNo
dim tblCalc


   set ActiveWindow = pdc.Windows.ActiveWindow
   set ActiveWindow = pdc.Windows.ActiveWindow
Line 34: Line 33:
       end if
       end if
     end if
     end if
     set activegrid = nothing
     set Activegrid = nothing
   end if
   end if
   set ActiveWindow = nothing
   set ActiveWindow = nothing

Revision as of 10:38, 2 October 2014

Declaration

ActiveObjectPickFilter as Boolean

Description

Sets an active object result

Notes

Especially useful to set a filter expression in script. This expression is used in the picklist.

Code example

In userexit SCR_BEFORECHOOSEDELIVERYLINE check for the project number in the first line of an active delivery note. Give the projectnumber as result to the picklist.

dim Activewindow
dim Activegrid
dim strFilter
dim strCalcNo
dim strProjectNo

  set ActiveWindow = pdc.Windows.ActiveWindow
  if ActiveWindow.WindowKey = "PB" then 'active delivery note
    set Activegrid = pdc.Windows.ActiveWindow.Datagrids.GetGridByName("PDCGrid1", "PR_POS")
    if IsValid(Activegrid) then
      if Activegrid.Recordcount > 0 then
        if strFilter = "" then
          strCalcNo = Activegrid.GetField("PR_CALCNR")
          if strCalcNo <> "" then
            strProjectNo = GetAnyField("DO_CALC", "DO_ORDNR", strCalcNo, "DO_OFFNR")
            strFilter = "(UPPER(DO_OFFNR)=UPPER('" & strProjectNo & "'))"
            PDC.ActiveObjectPickFilter = strFilter
          end if
        end if
      end if
    end if
    set Activegrid = nothing
  end if
  set ActiveWindow = nothing

Availability

Available since June 2006 (From version 3.7).