#INCLUDE "APP.CH" #INCLUDE "APPEVENT.CH" #INCLUDE "COMMON.CH" #include "deldbe.ch" #include "dbfdbe.ch" #INCLUDE "XBP.CH" #INCLUDE "font.ch" #INCLUDE "sys.ch" * * static oStatHead,oStat1,oStat2,oStat3,oStat4,oStat5 static oRadioStatic,oRadioNow,oRadioLater static oPrimeGetTwo,oSntDate,oSntBy,oDktDate,oPrinted static oCustNo,oConNote,oSpecIns1,oSpecIns2,oSpecins3 static oBlSle static aItems static cThisCostCode * procedure appsys return procedure main() * local aDesc := array(4) local aFonts local aPX := { { XBP_PP_COMPOUNDNAME, FONT_TIMES_SMALL } } local aPrimeKey local aReceivers := array(5) local aSenders := array(4) local aStru local bSelected local cBlock local cFieldName local cReceiver local drawingarea local mRet local mp1 local mp2 local nAcross local nColor local nColorPrime local nColorPrompt local nColorRadio local nColorUnPrint local nDocketNo local nEvent local nExit local nHeight local nHeightStatic local nPrintNow local nPtr local nUp local nWidth local oCodAmt local oCordNumb local oCtrl local oDlg local oGet local oHeadDate local oNotAfter local oNotBefore local oOnFrdPer local oPushBrowseClients local oPushBrowseMain local oPushConfig local oPushManifest local oPushNext local oPushPrev local oPushPrnt local oPushReadMe local oPushReceiver local oSendRef local oSplash local oStat11 local oStat21 local oStat22 local oStat23 local oStat30 local oStat30a local oStat31 local oStat32 local oStat40 local oStat40a local oStat41 local oStat51 local oStat52 local oStat53 local oStat5a local oStat5b local oStat5c local oStatHead1 local oStatHead2 local oStatHead3 local oStatHead4 local oStatHead5 local oStatHead6 local oStatHead7 local oStatHead8 local oWeight local oXbp local uLabel * cThisCostCode := "LOCAL " * aItems := array(4) * aFonts := tdGetFonts() cReceiver := space(12) * nHeight := 20 * set date british set century on set console off set deleted on * loadCDxDbe() * makefiles() * * nColor := graMakeRgbColor({220,176,249}) nColorPrompt := graMakeRgbColor({0,0,0}) nColorPrime := graMakeRgbColor({0,0,180}) nColorRadio := graMakeRgbColor({200,200,100}) nColorUnPrint := graMakeRgbColor({215,50,100}) * oDlg := XbpDialog():new(,,{10,40},{775,540},, .F. ) * oDlg:icon := 1 oDlg:minbutton := .T. oDlg:maxbutton := .F. oDlg:taskList := .T. oDlg:title := "BALLANTYNE TRANSPORT DOCKETS FROM EMAIL" oDlg:create() * drawingArea := oDlg:drawingArea drawingArea:setFontCompoundName( "11.Terminal" ) drawingArea:SetColorBG(nColor) * nAcross := 3 nUp := 420 nWidth := 760 nHeightStatic := 95 * oStatHead := XbpStatic():new(; drawingArea, , ; {nAcross,nUp}, ; {nWidth,nHeightStatic} ; ) * oStatHead:clipSiblings := .T. oStatHead:type := XBPSTATIC_TYPE_GROUPBOX oStatHead:create() * nUp := 65 nAcross := 05 * oStatHead1 := ; XbpStatic():new(; oStatHead, , ; {nAcross,nUp},; {0,0}) * oStatHead1:caption := "CUSTOMER NO" oStatHead1:clipSiblings := .T. oStatHead1:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT oStatHead1:autosize := .T. oStatHead1:setColorFG(nColorPrime) * oStatHead1:create() * nAcross := 130 * oStatHead2 := ; XbpStatic():new(; oStatHead, , ; {nAcross,nUp},; {0,0}) * oStatHead2:caption := "DOCKET NO" oStatHead2:clipSiblings := .T. oStatHead2:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT oStatHead2:autosize := .T. oStatHead2:setColorFG(nColorPrime) * oStatHead2:create() * nAcross := 208 * oStatHead3 := ; XbpStatic():new(; oStatHead, , ; {nAcross,nUp},; {0,0}) * oStatHead3:caption := "DOCKET DATE" oStatHead3:clipSiblings := .T. oStatHead3:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT oStatHead3:autosize := .T. oStatHead3:setColorFG(nColorPrompt) * oStatHead3:create() * nAcross := 315 * oStatHead4 := ; XbpStatic():new(; oStatHead, , ; {nAcross,nUp},; {0,0}) * oStatHead4:caption := "SENT BY" oStatHead4:clipSiblings := .T. oStatHead4:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT oStatHead4:autosize := .T. oStatHead4:setColorFG(nColorPrompt) * oStatHead4:create() * nAcross := 450 * oStatHead5 := ; XbpStatic():new(; oStatHead, , ; {nAcross,nUp},; {0,0}) * oStatHead5:caption := "SENT DATE" oStatHead5:clipSiblings := .T. oStatHead5:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT oStatHead5:autosize := .T. oStatHead5:setColorFG(nColorPrompt) * oStatHead5:create() * nAcross := 532 * oStatHead6 := ; XbpStatic():new(; oStatHead, , ; {nAcross,nUp},; {0,0}) * oStatHead6:caption := "CON NOTE NO" oStatHead6:clipSiblings := .T. oStatHead6:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT oStatHead6:autosize := .T. oStatHead6:setColorFG(nColorPrompt) * oStatHead6:create() * nAcross := 655 * oStatHead7 := ; XbpStatic():new(; oStatHead, , ; {nAcross,nUp},; {0,0}) * oStatHead7:caption := "PRINT STATUS" oStatHead7:clipSiblings := .T. oStatHead7:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT oStatHead7:autosize := .T. oStatHead7:setColorFG(nColor) oStatHead7:setColorBG(nColor) * oStatHead7:create() * nUp := 46 nAcross := 05 nWidth := 120 * oGet := ; XbpGet():new( ; oStatHead, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {||.t.} oGet:preblock := {|| .f.} oGet:picture := "@!" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "CUSTNO" oGet:cargo[GC_FLD_NO] := LEN(oStathead:childlist()) oGet:cargo[GC_FLD_TYP] := "C" oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := "" oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * oCustNo := oGet * nWidth := 70 nAcross := 130 * oGet := ; XbpGet():new( ; oStatHead, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {||.T.} oGet:preblock := {||.F.} oGet:picture := "@K ########" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "ODOCKET" oGet:cargo[GC_FLD_NO] := LEN(oStathead:childlist()) oGet:cargo[GC_FLD_TYP] := "N" oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := 0 oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() oGet:disable() * oPrimeGetTwo := oGet * nAcross := 208 nWidth := 100 * oGet := ; XbpGet():new( ; oStatHead, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|g|!empty(g:cargo[GC_FLD_VALUE])} oGet:preblock := {|| .T.} oGet:picture := "@D" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "DKTDATE" oGet:cargo[GC_FLD_NO] := LEN(oStathead:childlist()) oGet:cargo[GC_FLD_TYP] := "D" oGet:editable := TRUE oGet:cargo[GC_FLD_VALUE] := DATE() oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * oDktDate := oGet * nWidth := 130 nAcross := 315 * oGet := ; XbpGet():new( ; oStatHead, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|g|.t.} oGet:preblock := {|| .F.} oGet:picture := "@!S14" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "SNTBY" oGet:cargo[GC_FLD_NO] := LEN(oStathead:childlist()) oGet:cargo[GC_FLD_TYP] := "C" oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := SPACE(14) oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * oSntBy := oGet * nWidth := 75 nAcross := 450 * oGet := ; XbpGet():new( ; oStatHead, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {||.t.} oGet:preblock := {|| .F.} oGet:picture := "@D" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "SNTDATE" oGet:cargo[GC_FLD_NO] := LEN(oStathead:childlist()) oGet:cargo[GC_FLD_TYP] := "D" oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := DATE() oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * oSntDate := oGet * nWidth := 120 nAcross := 533 * oGet := ; XbpGet():new( ; oStatHead, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {||.t.} oGet:preblock := {|| .F.} oGet:picture := "@!" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "CCONNOTE" oGet:cargo[GC_FLD_NO] := LEN(oStathead:childlist()) oGet:cargo[GC_FLD_TYP] := "C" oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := "" oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * oConNote := oGet * nUp := 26 nAcross := 15 * oStatHead8 := ; XbpStatic():new(; oStatHead, , ; {nAcross,nUp},; {0,0}) * oStatHead8:caption := "Delv Instr" oStatHead8:clipSiblings := .T. oStatHead8:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT oStatHead8:autosize := .T. oStatHead8:setColorFG(nColorPrompt) * oStatHead8:create() * nUp := 6 nWidth := 240 nAcross := 5 * oGet := ; XbpGet():new( ; oStatHead, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {||.t.} oGet:preblock := {|| .F.} oGet:picture := "@!" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "SPECINS1" oGet:cargo[GC_FLD_NO] := LEN(oStathead:childlist()) oGet:cargo[GC_FLD_TYP] := "C" oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := "" oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * oSpecIns1 := oGet * nAcross += 245 * oGet := ; XbpGet():new( ; oStatHead, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {||.t.} oGet:preblock := {|| .F.} oGet:picture := "@!" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "SPECINS2" oGet:cargo[GC_FLD_NO] := LEN(oStathead:childlist()) oGet:cargo[GC_FLD_TYP] := "C" oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := "" oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * oSpecIns2 := oGet * nAcross += 245 * oGet := ; XbpGet():new( ; oStatHead, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {||.t.} oGet:preblock := {|| .F.} oGet:picture := "@!" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "SPECINS3" oGet:cargo[GC_FLD_NO] := LEN(oStathead:childlist()) oGet:cargo[GC_FLD_TYP] := "C" oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := "" oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * oSpecIns3 := oGet * * * nAcross := 3 nUp := 280 // 360 nWidth := 313 nHeightStatic := 140 * oStat1 := XbpStatic():new(; drawingArea, , ; {nAcross,nUp}, ; {nWidth,nHeightStatic} ; ) oStat1:clipSiblings := .T. oStat1:type := XBPSTATIC_TYPE_GROUPBOX oStat1:create() * nAcross := 05 nUp := 115 * oStat11 := ; XbpStatic():new(; oStat1, , ; {nAcross,nUp},; {0,0}) * oStat11:caption := "SENDER" oStat11:clipSiblings := .T. oStat11:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT oStat11:autosize := .T. oStat11:setColorFG(nColorPrompt) * oStat11:create() * nUp := 97 nWidth := 300 * oGet := ; XbpGet():new( ; oStat1, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|| .T.} oGet:preblock := {|| .F.} oGet:picture := "@!S40" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "SENDR1" oGet:cargo[GC_FLD_NO] := LEN(oStat1:childlist()) oGet:cargo[GC_FLD_TYP] := "C" oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := space(40) oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata(oGet:cargo[GC_FLD_VALUE]) * aSenders[1] := oGet * nUp -= 22 * oGet := ; XbpGet():new( ; oStat1, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|| .T.} oGet:preblock := {|| .F.} oGet:picture := "@!S40" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "SENDR2" oGet:cargo[GC_FLD_NO] := LEN(oStat1:childlist()) oGet:cargo[GC_FLD_TYP] := "C" oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := space(40) oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata(oGet:cargo[GC_FLD_VALUE]) * aSenders[2] := oGet * nUp -= 22 * oGet := ; XbpGet():new( ; oStat1, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|| .T.} oGet:preblock := {|| .F.} oGet:picture := "@!S40" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "SENDR3" oGet:cargo[GC_FLD_NO] := LEN(oStat1:childlist()) oGet:cargo[GC_FLD_TYP] := "C" oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := space(40) oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata(oGet:cargo[GC_FLD_VALUE]) * aSenders[3] := oGet * nUp -= 22 * oGet := ; XbpGet():new( ; oStat1, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|| .T.} oGet:preblock := {|| .F.} oGet:picture := "@!S40" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "SENDR4" oGet:cargo[GC_FLD_NO] := LEN(oStat1:childlist()) oGet:cargo[GC_FLD_TYP] := "C" oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := space(40) oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata(oGet:cargo[GC_FLD_VALUE]) * aSenders[4] := oGet * nAcross := 323 nUp := 280 // 360 nWidth := 440 nHeightStatic := 140 * oStat2 := XbpStatic():new( ; drawingArea, , ; {nAcross,nUp}, ; {nWidth,nHeightStatic} ; ) oStat2:clipSiblings := .T. oStat2:type := XBPSTATIC_TYPE_GROUPBOX oStat2:create() * nUp := 115 nAcross := 5 * nUp := 97 nWidth := 130 * nAcross := 135 nUp := 115 * oStat21 := ; XbpStatic():new(; oStat2, , ; {nAcross,nUp},; {0,0}) * oStat21:caption := "RECEIVER" oStat21:clipSiblings := .T. oStat21:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT oStat21:autosize := .T. oStat21:setColorFG(nColorPrompt) * oStat21:create() * nUp := 97 nWidth := 300 * oGet := ; XbpGet():new( ; oStat2, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|| .T.} oGet:preblock := {|| .F.} oGet:picture := "@!S40" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "RECV1" oGet:cargo[GC_FLD_NO] := LEN(oStat2:childlist()) oGet:cargo[GC_FLD_TYP] := "C" * oGet:editable := FALSE * oGet:cargo[GC_FLD_VALUE] := space(40) oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * aReceivers[1] := oGet * nUp -= 22 * oGet := ; XbpGet():new( ; oStat2, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|| .T.} oGet:preblock := {|| .F.} oGet:picture := "@!S40" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "RECV2" oGet:cargo[GC_FLD_NO] := LEN(oStat2:childlist()) oGet:cargo[GC_FLD_TYP] := "C" oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := space(40) oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * aReceivers[2] := oGet * nUp -= 22 * oGet := ; XbpGet():new( ; oStat2, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|| .T.} oGet:preblock := {|| .F.} oGet:picture := "@!S40" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "RECV3" oGet:cargo[GC_FLD_NO] := LEN(oStat2:childlist()) oGet:cargo[GC_FLD_TYP] := "C" oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := space(40) oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * aReceivers[3] := oGet * nUp -= 22 * oGet := ; XbpGet():new( ; oStat2, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|| .T.} oGet:preblock := {|| .F.} oGet:picture := "@!S40" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "RECV4" oGet:cargo[GC_FLD_NO] := LEN(oStat2:childlist()) oGet:cargo[GC_FLD_TYP] := "C" oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := space(40) oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * aReceivers[4] := oGet * nUp -= 22 * oGet := ; XbpGet():new( ; oStat2, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|| .T.} oGet:preblock := {|| .F.} oGet:picture := "@!S40" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "RECV5" oGet:cargo[GC_FLD_NO] := LEN(oStat2:childlist()) oGet:cargo[GC_FLD_TYP] := "C" oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := space(40) oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * aReceivers[5] := oGet * nAcross := 3 nUp := 150 // 270 nWidth := 278 nHeightStatic := 120 * oStat3 := XbpStatic():new( ; drawingArea, , ; {nAcross,nUp}, ; {nWidth,nHeightStatic}, ; ) oStat3:clipSiblings := .T. oStat3:type := XBPSTATIC_TYPE_GROUPBOX oStat3:create() * nUp := 85 nAcross := 15 * oStat30a := ; XbpStatic():new(; oStat3, , ; {nAcross,nUp}, ; {0,0}) * oStat30a:caption := "C.O.D. AMOUNT" oStat30a:clipSiblings := .T. oStat30a:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT oStat30a:autosize := .T. oStat30a:setColorFG(nColorPrompt) * oStat30a:create() * nUp := 64 * oStat30 := ; XbpStatic():new(; oStat3, , ; {nAcross,nUp},; {0,0}) * oStat30:caption := "BACK ORD NO" oStat30:clipSiblings := .T. oStat30:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT oStat30:autosize := .T. oStat30:setColorFG(nColorPrompt) * oStat30:create() * nUp := 43 * oStat31 := ; XbpStatic():new(; oStat3, , ; {nAcross,nUp},; {0,0}) * oStat31:caption := "WEIGHT" oStat31:clipSiblings := .T. oStat31:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT oStat31:autosize := .T. oStat31:setColorFG(nColorPrompt) * oStat31:create() * nUp := 21 * oStat32 := ; XbpStatic():new(; oStat3, , ; {nAcross,nUp},; {0,0}) * oStat32:caption := "SENDERS REF." oStat32:clipSiblings := .T. oStat32:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT oStat32:autosize := .T. oStat32:setColorFG(nColorPrompt) * oStat32:create() * nAcross := 150 * nWidth := 90 nUp := 85 * oGet := ; XbpGet():new( ; oStat3, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|| .T.} oGet:preblock := {|| .F.} oGet:picture := "@K #######.##" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "CODAMT" oGet:cargo[GC_FLD_NO] := LEN(oStat3:childlist()) oGet:cargo[GC_FLD_TYP] := "N" oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := 0.00 oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * oCodAmt := oGet * * nUp := 64 nWidth := 120 * oGet := ; XbpGet():new( ; oStat3, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|| .T.} oGet:preblock := {|| .F.} oGet:picture := "@!" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "CORDNUMB" oGet:cargo[GC_FLD_TYP] := "C" oGet:cargo[GC_FLD_NO] := LEN(oStat3:childlist()) oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := 0 oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * oCordNumb := oGet * nWidth := 50 nUp := 43 * oGet := ; XbpGet():new( ; oStat3, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|| .T.} oGet:preblock := {|| .F.} oGet:picture := "@K #####" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "WEIGHT" oGet:cargo[GC_FLD_TYP] := "N" oGet:cargo[GC_FLD_NO] := LEN(oStat3:childlist()) oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := 0 oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * oWeight := oGet * nUp := 21 nWidth := 95 * oGet := ; XbpGet():new( ; oStat3, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|| .T.} oGet:preblock := {|| .F.} oGet:picture := "@!S14" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "SNDREF" oGet:cargo[GC_FLD_TYP] := "C" oGet:cargo[GC_FLD_NO] := LEN(oStat3:childlist()) oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := space(14) oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * oSendRef := oGet * nAcross := 287 nUp := 150 // 270 nWidth := 478 nHeightStatic := 120 * oStat4 := XbpStatic():new( ; drawingArea, , ; {nAcross,nUp}, ; {nWidth,nHeightStatic}, ; ) oStat4:clipSiblings := .T. oStat4:type := XBPSTATIC_TYPE_GROUPBOX oStat4:create() * nAcross := 15 nUp := 85 * oStat40 := ; XbpStatic():new(; oStat4, , ; {nAcross,nUp},; {0,0}) * oStat40:caption := "NOT BEFORE" oStat40:clipSiblings := .T. oStat40:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT oStat40:autosize := .T. oStat40:setColorFG(nColorPrompt) * oStat40:create() * nAcross := 150 nWidth := 100 * oGet := ; XbpGet():new( ; oStat4, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|| .T.} oGet:preblock := {|| .F.} oGet:picture := "@!" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "NOTBEFORE" oGet:cargo[GC_FLD_TYP] := "C" oGet:cargo[GC_FLD_NO] := LEN(oStat4:childlist()) oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := 0 oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * oNotBefore := oGet * * nAcross := 15 nUp := 64 * oStat40a := ; XbpStatic():new(; oStat4, , ; {nAcross,nUp},; {0,0}) * oStat40a:caption := "NOT AFTER" oStat40a:clipSiblings := .T. oStat40a:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT oStat40a:autosize := .T. oStat40a:setColorFG(nColorPrompt) * oStat40a:create() * nAcross := 150 nWidth := 100 * oGet := ; XbpGet():new( ; oStat4, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|| .T.} oGet:preblock := {|| .F.} oGet:picture := "@!" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "NOTAFTER" oGet:cargo[GC_FLD_TYP] := "C" oGet:cargo[GC_FLD_NO] := LEN(oStat4:childlist()) oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := 0 oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * oNotAfter := oGet * * * nAcross := 15 nUp := 43 * oStat41 := ; XbpStatic():new(; oStat4, , ; {nAcross,nUp},; {0,0}) * oStat41:caption := "ON FORWARD PER" oStat41:clipSiblings := .T. oStat41:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT oStat41:autosize := .T. oStat41:setColorFG(nColorPrompt) * oStat41:create() * nAcross := 150 nWidth := 200 * oGet := ; XbpGet():new( ; oStat4, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|| .T.} oGet:preblock := {|| .F.} oGet:picture := "@!S35" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "ONFRDPER" oGet:cargo[GC_FLD_NO] := LEN(oStat4:childlist()) oGet:cargo[GC_FLD_TYP] := "C" oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := space(35) oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * oOnFrdPer := oGet * nUp -= 22 nAcross := 150 nWidth := 65 * nAcross := 3 nUp := 10 // 90 nWidth := 490 nHeightStatic := 130 * * oStat5 := XbpStatic():new(; drawingArea, , ; {nAcross,nUp}, ; {nWidth,nHeightStatic}, ; ) oStat5:clipSiblings := .T. oStat5:type := XBPSTATIC_TYPE_GROUPBOX oStat5:create() * nAcross := 15 nUp := 95 * oStat5a := ; XbpStatic():new(; oStat5 , , ; {nAcross,nUp},; {0,0}) * oStat5a:caption := "F2 lookup" oStat5a:clipSiblings := .T. oStat5a:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT oStat5a:autosize := .T. oStat5a:setColorFG(nColorPrompt) * oStat5a:create() * nAcross := 15 nUp := 50 * nUp := 30 * oStat5c := ; XbpStatic():new(; oStat5 , , ; {nAcross,nUp},; {0,0}) * oStat5c:caption := " " oStat5c:clipSiblings := .T. oStat5c:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT oStat5c:autosize := .T. oStat5c:setColorFG(nColor) * oStat5c:create() * nAcross := 121 nUp := 95 * oStat51 := ; XbpStatic():new(; oStat5, , ; {nAcross,nUp},; {0,0}) * oStat51:caption := "DESCRIPTION" oStat51:clipSiblings := .T. oStat51:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT oStat51:autosize := .T. oStat51:setColorFG(nColorPrompt) * oStat51:create() * nAcross := 359 * oStat52 := ; XbpStatic():new(; oStat5, , ; {nAcross,nUp},; {0,0}) * oStat52:caption := "ITEMS" oStat52:clipSiblings := .T. oStat52:options := XBPSTATIC_TEXT_VCENTER+XBPSTATIC_TEXT_LEFT oStat52:autosize := .T. oStat52:setColorFG(nColorPrompt) * oStat52:create() * nUp -= 22 nAcross := 121 nWidth := 130 * oGet := ; XbpGet():new( ; oStat5, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|| .T.} oGet:preblock := {|| .F.} oGet:picture := "@!S19" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "DESC1" oGet:cargo[GC_FLD_TYP] := "C" oGet:cargo[GC_FLD_NO] := LEN(oStat5:childlist()) oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := space(19) oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * aDesc[1] := oGet * nAcross := 359 nWidth := 35 * oGet := ; XbpGet():new( ; oStat5, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {||.T.} oGet:preblock := {||.F.} oGet:picture := "@K ###" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "ITEMS1" oGet:cargo[GC_FLD_TYP] := "N" oGet:cargo[GC_FLD_NO] := LEN(oStat5:childlist()) oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := 0 oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * aItems[1] := oGet * nUp -= 22 nAcross := 121 nWidth := 130 * oGet := ; XbpGet():new( ; oStat5, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|| .T.} oGet:preblock := {|| .T.} oGet:picture := "@!S19" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "DESC2" oGet:cargo[GC_FLD_TYP] := "C" oGet:cargo[GC_FLD_NO] := LEN(oStat5:childlist()) oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := space(19) oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * aDesc[2] := oGet * nAcross := 359 nWidth := 35 * oGet := ; XbpGet():new( ; oStat5, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {||.T.} oGet:preblock := {||.F.} oGet:picture := "@K ###" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "ITEMS2" oGet:cargo[GC_FLD_TYP] := "N" oGet:cargo[GC_FLD_NO] := LEN(oStat5:childlist()) oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := 0 oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * aItems[2] := oGet * nUp -= 22 nAcross := 121 nWidth := 130 * oGet := ; XbpGet():new( ; oStat5, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|| .T.} oGet:preblock := {|| .T.} oGet:picture := "@!S19" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "DESC3" oGet:cargo[GC_FLD_TYP] := "C" oGet:cargo[GC_FLD_NO] := LEN(oStat5:childlist()) oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := space(19) oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * aDesc[3] := oGet * nAcross := 359 nWidth := 35 * oGet := ; XbpGet():new( ; oStat5, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {||.T.} oGet:preblock := {||.F.} oGet:picture := "@K ###" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "ITEMS3" oGet:cargo[GC_FLD_TYP] := "N" oGet:cargo[GC_FLD_NO] := LEN(oStat5:childlist()) oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := 0 oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * aItems[3] := oGet * nUp -= 22 nAcross := 121 nWidth := 130 oGet := ; XbpGet():new( ; oStat5, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {|| .T.} oGet:preblock := {|| .F.} oGet:picture := "@!S19" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "DESC4" oGet:cargo[GC_FLD_TYP] := "C" oGet:cargo[GC_FLD_NO] := LEN(oStat5:childlist()) oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := space(19) oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * aDesc[4] := oGet * nAcross := 359 nWidth := 35 * oGet := ; XbpGet():new( ; oStat5, , ; {nAcross,nUp}, ; {nWidth,nHeight}, ; aPX) * oGet:clipSiblings := .T. oGet:postblock := {||.T.} oGet:preblock := {||.F.} oGet:picture := "@K ###" oGet:Cargo := array(13) oGet:cargo[GC_FIELD] := "ITEMS4" oGet:cargo[GC_FLD_TYP] := "N" oGet:cargo[GC_FLD_NO] := LEN(oStat5:childlist()) oGet:editable := FALSE oGet:cargo[GC_FLD_VALUE] := 0 oGet:datalink := oBlk(oGet) oGet:create() oGet:setdata() * aItems[4] := oGet * nUp -= 22 nAcross := 121 * nAcross := 359 * * * oPushReadMe := ; XbpPushButton():new( drawingArea, , {500,100}, {100,20} ) oPushReadMe:caption := "F8 Email" oPushReadMe:clipSiblings := .T. oPushReadMe:tabStop := .T. oPushReadMe:create() * oPushReadMe:activate := {|| ; setappfocus(oDktDate),; postappevent( xbeP_Keyboard,xbeK_F8,,oDktDate) } * * * oPushReadMe := ; XbpPushButton():new( drawingArea, , {500,70}, {100,20} ) oPushReadMe:caption := "F6 Read Me" oPushReadMe:clipSiblings := .T. oPushReadMe:tabStop := .T. oPushReadMe:create() * oPushReadMe:activate := {|| ; setappfocus(oDktDate),; postappevent( xbeP_Keyboard,xbeK_F6,,oDktDate) } * oPushManifest := ; XbpPushButton():new( drawingArea, , {650,100}, {100,20} ) oPushManifest:caption := "F3 Manifest" oPushManifest:clipSiblings := .T. oPushManifest:tabStop := .F. oPushManifest:create() * oPushManifest:activate := ; {|| setappfocus(oDktDate),; postappevent( xbeP_Keyboard,xbeK_F3,,oDktDate ) } * * * oPushBrowseMain := ; XbpPushButton():new( drawingArea, , {650,70}, {100,20} ) oPushBrowseMain:caption := "F4 Browse" oPushBrowseMain:clipSiblings := .T. oPushBrowseMain:tabStop := .F. oPushBrowseMain:create() * oPushBrowseMain:activate := {|| ; setappfocus(oDktDate),; postappevent( xbeP_Keyboard,xbeK_F4,,oDktDate) } * * * oPushPrnt := ; XbpPushButton():new( drawingArea, , {650,40}, {100,20} ) oPushPrnt:caption := "F5 Print" oPushPrnt:clipSiblings := .T. oPushPrnt:tabStop := .F. oPushPrnt:create() * oPushPrnt:activate := {|| ; setappfocus(oDktDate),; postappevent( xbeP_Keyboard,xbeK_F5,,oDktDate) } * * * oPushConfig := ; XbpPushButton():new( drawingArea, , {630,10}, {120,20} ) oPushConfig:caption := "F11 Utilities" oPushConfig:clipSiblings := .T. oPushConFig:tabStop := .F. oPushConfig:create() * oPushConfig:activate := ; {|| setappfocus(oDktDate),; postappevent( xbeP_Keyboard,xbeK_F11,,oDktDate ) } * * * oRadioStatic := ; XbpStatic():new(drawingArea ,, {500,10}, {120,60} ) oRadioStatic:type := XBPSTATIC_TYPE_GROUPBOX oRadioStatic:SetColorBG(nColorRadio) oRadioStatic:create() * * Display which radiobutton is selected * * Create two radiobuttons * ( Owner == Parent == oStatic ) * oRadioNow := XbpRadioButton():new( oRadioStatic,, {05,30}, {95,20} ) oRadioNow:caption := "Print Now" oRadioNow:create() * oRadioLater := XbpRadioButton():new( oRadioStatic,, {05,04}, {110,20} ) oRadioLater:caption := "Print Later" oRadioLater:selection :=.T. oRadioLater:create() * setappfocus(oDlg) * oCtrl := XbpGetController():new(oDlg):create() * setappfocus(oCtrl:window()) * setappfocus(oDktDate) * oCtrl:read( , .F. ) * oDlg:show() * do while nEvent <> xbeP_Close * nEvent := appevent(@mp1,@mp2,@oXbp) * * mouse motion * IF nEvent = xbeM_Motion .AND. mp1 = NIL LOOP ENDIF * * for keyboard events * IF nEvent = xbeP_Keyboard * do case case mp1 == xbeK_ESC * nExit := ; sysalert(; "Exit the Program",; {"Yes","No"},; oDlg) * IF nExit == 1 * oXbp:killinputFocus() * IF oRadioLater:getdata() == TRUE * printDocket(,oDlg) * endif * PostAppEvent(xbeP_Close,,,oDlg) * ELSE * LOOP * ENDIF * * HELP SCREENS * case mp1 == xbeK_F1 * oXbp:killinputFocus() * generalHelp(oDlg,"MAIN") * loop * case mp1 == xbeK_F2 * oXbp:killinputFocus() * IF empty(oXbp:cargo[GC_VFUNC]) ELSE EVAL(oXbp:cargo[GC_VFUNC],oDlg) ENDIF * case mp1 == xbeK_F3 * oXbp:killinputFocus() * manifestPrint(oDlg) * loop * case mp1 == xbeK_F4 * oXbp:killinputFocus() * aPrimeKey := nil * IF oDocket->(eof()) .AND. oDocket->(bof()) * sysalert(; "No data in the System yet",,; oDlg) * else * aPrimeKey := browseMain(oDlg) * ENDIF * IF aPrimeKey == nil else * oPrimeGetTwo:cargo[GC_FLD_VALUE] := odocket->odocket oPrimeGetTwo:setData() * loadDataToScreen() * setStatus(oStatHead7,nColorUnprint,nColor) * ENDIF * setappfocus(oDktDate) * oDktDate:home() * loop * case mp1 == xbeK_F5 * oXbp:killinputFocus() * nPrintNow := ; sysalert(; "Print This Docket Now?",; {"Yes","No"},; oDlg) * IF nPrintNow == 1 * printDocket(str(odocket->odocket,8,0)+odocket->custno) * ENDIF * setappfocus(oDktDate) * oDktDate:home() * loop * case mp1 == xbeK_F6 * oXbp:killinputFocus() * balinReadMe(oDlg) * setAppFocus(oXbp) * loop * case mp1 == xbeK_F8 * oXbp:killinputFocus() * recvMail(oDlg) * setAppFocus(oXbp) * loop * case mp1 == xbeK_F11 * oXbp:killinputFocus() * sysUtilities(oDlg) * loop * end case * endif * oXbp:handleEvent( nEvent, mp1, mp2 ) * enddo * magicwnd->(dbclosearea()) mailwnd->(dbclosearea()) maildelv->(dbclosearea()) odocket->(dbclosearea()) * oDlg:destroy() * return function loadCDxDbe() * IF ! DbeLoad( "CDXDBE",.T.) // DC_Alert( "Database-Engine CDXDBE not loaded" , {"OK"} ) ENDIF IF ! DbeBuild( "DBFCDX", "DBFDBE", "CDXDBE" ) // DC_Alert( "DBFCDX Database-Engine;Could not build engine" , {"OK"} ) ENDIF IF ! DbeLoad( "FOXDBE",.T.) // DC_Alert( "Database-Engine FOXDBE not loaded" , {"OK"} ) ENDIF IF ! DbeBuild( "FOXCDX", "FOXDBE", "CDXDBE" ) // DC_Alert( "FOXCDX Database-Engine;Could not build engine" , {"OK"} ) ENDIF * dbeSetDefault("DELDBE") * dbeinfo(COMPONENT_DATA, DELDBE_MODE, DELDBE_SINGLEFIELD) * return nil FUNCTION GuiStdDialog(cTitle,aPos,aSize,oParent,oOwner) * LOCAL oDlg * DEFAULT cTitle TO "Standard Dialog Window" DEFAULT aPos to {0,0} DEFAULT aSize to {800,640} * oDlg := XbpDialog():new(oParent,oOwner,aPos,aSize,, .F. ) oDlg:icon := 1 oDlg:taskList := .T. oDlg:title := cTitle oDlg:create() oDlg:drawingArea:setFontCompoundName( FONT_DEFPROP_SMALL ) * RETURN oDlg function oBlk(oget) local bBlock bBlock := ; {|x|iif(x== nil,oget:cargo[GC_FLD_VALUE],oget:cargo[GC_FLD_VALUE]:=x)} return bBlock function BrowseMain(oDialog) * return browser(oDialog,"odocket") * * * function sysalert(cText,aOptions,oParent) * local nAns * nAns := 0 * * solves problem for array browse edits falling over when * esc is pressed to an error alert when in the get system * Esc pressed causes 0 to be returned by alert() * nAns := ; DC_GuiAlert( oParent, cText, aOptions, ,"Information" , , TRUE ) * setappfocus(oParent) * return nAns function nilType(value) * local xRetVal * do case case valtype(value) == "C" xRetVal := space(len(value)) case valtype(value) == "A" xRetVal := {} case valtype(value) == "N" xRetVal := value - value case valtype(value) == "D" xRetVal := ctod(" ") case valtype(value) == "L" xRetVal := FALSE case valtype(value) == "M" xRetVal := " " endcase * return xRetVal * function loadDataToScreen() * local aChildList local nPtr local nLen local oXbp local nLoopit local aCargo * aCargo := oCustNo:cargo * aCargo[GC_FLD_VALUE] := ; odocket->(fieldget(odocket->(fieldpos(aCargo[GC_FIELD])))) * oCustNo:setdata() * aCargo := oSntBy:cargo * aCargo[GC_FLD_VALUE] := ; odocket->(fieldget(odocket->(fieldpos(aCargo[GC_FIELD])))) * oSntBy:setdata() * aCargo := oSntDate:cargo * aCargo[GC_FLD_VALUE] := ; odocket->(fieldget(odocket->(fieldpos(aCargo[GC_FIELD])))) * oSntDate:setdata() * aCargo := oDktDate:cargo * aCargo[GC_FLD_VALUE] := ; odocket->(fieldget(odocket->(fieldpos(aCargo[GC_FIELD])))) * oDktDate:setdata() * aCargo := oConNote:cargo * aCargo[GC_FLD_VALUE] := ; odocket->(fieldget(odocket->(fieldpos(aCargo[GC_FIELD])))) * oConNote:setdata() * aCargo := oSpecins1:cargo * aCargo[GC_FLD_VALUE] := ; odocket->(fieldget(odocket->(fieldpos(aCargo[GC_FIELD])))) * oSpecins1:setdata() * aCargo := oSpecins2:cargo * aCargo[GC_FLD_VALUE] := ; odocket->(fieldget(odocket->(fieldpos(aCargo[GC_FIELD])))) * oSpecins2:setdata() * aCargo := oSpecins3:cargo * aCargo[GC_FLD_VALUE] := ; odocket->(fieldget(odocket->(fieldpos(aCargo[GC_FIELD])))) * oSpecins3:setdata() * FOR nLoopit := 1 TO 5 * DO CASE case nLoopit == 1 aChildList := oStat1:ChildList() case nLoopit == 2 aChildList := oStat2:ChildList() case nLoopit == 3 aChildList := oStat3:ChildList() case nLoopit == 4 aChildList := oStat4:ChildList() case nLoopit == 5 aChildList := oStat5:ChildList() end case * nLen := len(aChildList) * FOR nPtr := 1 TO nLen * oXbp := aChildList[nPtr] * IF oXbp:isDerivedFrom("XbpGet") * aCargo := oXbp:cargo * aCargo[GC_FLD_VALUE] := ; odocket->(fieldget(odocket->(fieldpos(aCargo[GC_FIELD])))) * oXbp:setdata() * ENDIF * NEXT * NEXT * return nil * function nextNumb() * local nNumber * nextnumb->(dbgotop()) nextnumb->(dbgobottom()) * IF nextnumb->(eof()) * nNumber := 0 * else * nNumber := nextnumb->odocket * ENDIF * nNumber ++ * return {nNumber} function setStatus(oStatHead7,nColorUnprint,nColor) * IF odocket->printed == "Y" * oStatHead7:setColorFg(nColor) * else * oStatHead7:setcolorFg(nColorUnprint) * ENDIF * return nil * function showBlNumb(o) * local cRetVal := "" * return cRetVal * function sysUtilities(oDlg) * local aList local nWhichOne * nWhichOne := 1 * aList := ; {; "1. System Configuration",; "2. Email Sender Details",; "3. Manual Import Email"; } * nWhichOne := ; sysachoice(; nWhichOne,; aList,; "Your Choice",; oDlg,; 150) * do case case nWhichOne == 0 case nWhichOne == 1 * sysConfigure(oDlg) * case nWhichOne == 2 * emailSenders(oDlg) * case nWhichOne == 3 * manualImport(oDlg) * end case * return nil function sysConfigure(oDlg) * local aBLookup local cChoice local aValues local aLits local lRetVal local aPictures * cChoice := "System Maintenance Menu" * aValues := ; {; {; magicwnd->DKTPRNT,; magicwnd->MNFPRNT; },; {}; } * aLits := ; {; "Docket Printer ",; "Manifest Printer "; } * aBLookup := array(len(aLits)) aPictures := array(len(aLits)) * aBLookup[1] := {|g|lookupPrinter(g)} aPictures[1] := "@X" aBLookup[2] := {|g|lookupPrinter(g)} aPictures[2] := "@X" * lRetVal :=; getScreenParameters(; cChoice,; aValues,; 1,; aLits,; aBLookup,; setappwindow(),; aPictures) * IF lRetVal == TRUE * IF magicwnd->(dbrlock()) * magicwnd->DKTPRNT := aValues[1][1] magicwnd->MNFPRNT := aValues[1][2] * magicwnd->(dbunlock()) * endif * endif * return nil * function emailSenders(oDlg) * return browser(oDlg,"mailwnd") * function manifestPrint(oDlg) * local aLits local aPictures local aValues local cChoice local cRecvCode := space(12) local dFrom := date() local dTo := date() local lRetVal * cChoice := "Manifest by Date Printed of Delivery Dockets" * aValues := ; {; {; dFrom,; dTo,; space(12) ; },; {}; } * aLits := ; {; "From Date",; "To Date",; "Receiver"; } aPictures := ; {; "@D",; "@D",; "@!"; } * lRetVal :=; getScreenParameters(; cChoice,; aValues,; 1,; aLits,; ,; setappwindow(),; aPictures) * IF lRetVal == TRUE * dFrom := aValues[1][1] dTo := aValues[1][2] cRecvCode := aValues[1][3] * doManifestPrint(dFrom,dTo,cRecvCode,oDlg) * endif * return nil * * * function balinReadMe(oDlg) * browtext("README.TXT") * return nil * function manualImport(oDlg) * local aLits local aPrimeKey local aSenders local aValues local cCustNo local cDestination local cFullDest local cMailSender local cPath local cPattern local cSelectionCode local lRetVal * use mailwnd new shared alias mailwndlook via "DBFCDX" * mailwndlook->(ordlistadd("mailwnd.CDX")) * mailwndlook->(ORDSETFOCUS("PRIMARY")) * mailwndlook->(DBGOTOP()) * aPrimeKey := browser(oDlg,"mailwndlook") * IF aPrimeKey <> nil * mailwndlook->(dbseek(aPrimeKey[1])) * cCustNo := mailwndlook->custno cMailSender := mailwndlook->mailsender * aSenders := ; {; mailwndlook->sendr1,; mailwndlook->sendr2,; mailwndlook->sendr3,; mailwndlook->sendr4; } * cPath := mailwndlook->mailstore * cSelectionCode := alltrim(mailwndlook->mailabbrev) * cPattern := upper(alltrim(mailwndlook->mailpattrn)) * cFullDest := alltrim(cPath) + cPattern * cFullDest := padr(cFullDest,40) * aValues := {{cFullDest},{}} * aLits := {"Include Full Path"} * lRetVal :=; getScreenParameters(; "Enter Email Attachment Name",; aValues,; 1,; aLits,; ,; setappwindow()) * IF lRetVal == TRUE * cFullDest := aValues[1][1] * cDestination := parseOutPath(cFullDest) * IF maildelv->(dbseek(cMailSender+cDestination)) * sysalert(; "Already processed - This Attachment",,; oDlg) * else * IF file((cFullDest)) * processMail(cFullDest,cCustNo,aSenders,cSelectionCode) * maildelv->(dbappend()) * maildelv->mailsender := cMailSender maildelv->mailattach := cDestination maildelv->maildate := date() maildelv->mailproc := "Y" * maildelv->(dbunlock()) * ENDIF * ENDIF * ENDIF * ENDIF * mailwndlook->(dbclosearea()) * return nil