home *** CD-ROM | disk | FTP | other *** search
/ DOS Wares / doswares.zip / doswares / DATABASE / DBASE5 / CUA_SAMP.ZIP / ORDERS.PRG < prev    next >
Encoding:
Text File  |  1994-06-24  |  7.9 KB  |  383 lines

  1. mFormOpen=.F.
  2. DEFINE FORM mTemp PROPERTY VISIBLE .F.
  3. lVoid = mTemp.OPEN()
  4. mDesk = mTemp.PARENT
  5. lVoid = mTemp.CLOSE()
  6.  
  7. mFormName=SPACE(8)
  8. mActive=mDesk.ActiveControl()
  9. IF TYPE("mActive.ClassName")="C"
  10.     mClass=mActive.ClassName
  11.     IF mClass="FORM"
  12.         mFormName=mActive.Name
  13.         mFormOpen=.T.
  14.     ENDIF
  15. ENDIF
  16.  
  17. #include "orders.dfm"
  18. PUBLIC NewRecord
  19.  
  20. NewRecord = .F.
  21.  
  22. Ord.Action = .F.
  23. lVoid = Ord.Open()
  24.  
  25. RETURN
  26.  
  27. PROCEDURE OpenOrd
  28.     SELECT SELECT()
  29.     USE Orders ALIAS Orders AGAIN
  30.  
  31.     SELECT SELECT()
  32.     USE Goods ORDER Part_Id ALIAS OrdGoods AGAIN
  33.     SEEK(Orders->Part_ID)
  34.  
  35.     SELECT SELECT()
  36.     USE Employee ORDER Emp_ID ALIAS OrdEmp AGAIN
  37.     SEEK(Orders->Emp_Id)
  38.  
  39.     SELECT SELECT()
  40.     USE Cust ORDER Cust_ID ALIAS OrdCust AGAIN
  41.     SEEK(Orders->Cust_ID)
  42.  
  43.     This.Pname.Text = LTRIM(OrdGoods->Part_Name)
  44.     This.Price.Text = LTRIM(STR(OrdGoods->Price))
  45.     This.QtyHand.Text = LTRIM(STR(OrdGoods->Qty_OnHand))
  46.     This.Profmgn.Text = LTRIM(STR((OrdGoods->Price - OrdGoods->Cost) / 100))
  47.     Name = TRIM(OrdEmp->FirstName) +" "+OrdEmp->LastName
  48.     This.EmpName.Text = Name
  49.     SELE Orders
  50.  
  51.  
  52.  
  53.     IF .NOT. mFormOpen
  54.         Main.F1.CloseAll.Enabled=.F.
  55.         Main.V.Frm.Enabled=.F.
  56.         Main.S.Srch.Enabled=.T.
  57.         Main.S.Tp.Enabled=.T.
  58.         Main.S.Btm.Enabled=.T.
  59.         Main.S.Pck.Enabled=.F.
  60.         Main.S.Indx.Enabled=.F.
  61.         Main.E.Undo.Enabled=.T.
  62.         Main.E.Save.Enabled=.T.
  63.         Main.App.Cust.Enabled=.F.
  64.         Main.App.Gds.Enabled=.F.
  65.         Main.App.Acc.Enabled=.F.
  66.         Main.App.Emp.Enabled=.F.
  67.         Main.F1.Bac.Enabled=.F.
  68.         Main.App.Inv.Enabled=.F.
  69.     ENDIF
  70.      Main.App.Ord.Enabled=.F.
  71.  
  72.     lVoid = Ord.Refresh()
  73.  
  74. RETURN
  75.  
  76.  
  77. PROCEDURE UndoIt
  78.     lVoid = Form.Refresh()
  79. RETURN
  80.  
  81. PROCEDURE SubmitIt
  82.     lVoid = Form.Submit()
  83. RETURN
  84.  
  85. PROCEDURE PrevHand
  86.        IF Form.Modified()
  87.         lVoid = Form.Submit()
  88.        ENDIF
  89.     IF .NOT. BOF()
  90.         SKIP -1
  91.       IF BOF()
  92.          DO ErrorMsg WITH "Top of file!"
  93.       ENDIF
  94.         SELE OrdGoods
  95.         SEEK(Orders->Part_ID)
  96.         SELE OrdEmp
  97.         SEEK(Orders->Emp_Id)
  98.         SELE OrdCust
  99.         SEEK(Orders->Cust_Id)
  100.  
  101.         Form.Pname.Text = LTRIM(OrdGoods->Part_Name)
  102.         Form.Price.Text = LTRIM(STR(OrdGoods->Price))
  103.         Form.QtyHand.Text = LTRIM(STR(OrdGoods->Qty_OnHand))
  104.         Form.Profmgn.Text = LTRIM(STR((OrdGoods->Price - OrdGoods->Cost) / 100))
  105.         Name = TRIM(OrdEmp->FirstName)+" "+OrdEmp->LastName
  106.         Form.EmpName.Text = Name
  107.         SELE Orders
  108.         * Show user if the record is marked for deletion
  109.         IF DELETED()
  110.            Form.cStatus.Text = "DELETED"
  111.         ELSE
  112.            Form.cStatus.Text = ""
  113.         Endif
  114.  
  115.         lVoid = Ord.Refresh()
  116.     ELSE
  117.         DO ErrorMsg WITH "Top of file!"
  118.     ENDIF
  119.     Form.Action = .F.
  120. RETURN
  121. ******************
  122. PROCEDURE SkipHand
  123.        IF Form.Modified()
  124.           lVoid = Form.Submit()
  125.        ENDIF
  126.     IF .NOT. EOF()
  127.       SKIP
  128.       IF PART_ID=' '
  129.          SKIP -1
  130.          DO ErrorMsg WITH "End of file encountered!"
  131.       ENDIF
  132.         SELE OrdGoods
  133.         SEEK(Orders->Part_ID)
  134.         SELE OrdEmp
  135.         SEEK(Orders->Emp_Id)
  136.         SELE OrdCust
  137.         SEEK(Orders->Cust_Id)
  138.  
  139.         Form.Pname.Text = LTRIM(OrdGoods->Part_Name)
  140.         Form.Price.Text = LTRIM(STR(OrdGoods->Price))
  141.         Form.QtyHand.Text = LTRIM(STR(OrdGoods->Qty_OnHand))
  142.         Form.Profmgn.Text = LTRIM(STR((OrdGoods->Price - OrdGoods->Cost) / 100))
  143.         Name = TRIM(OrdEmp->FirstName)+" "+OrdEmp->LastName
  144.         Form.EmpName.text = name
  145.         SELE Orders
  146.  
  147.         * Show user if the record is marked for deletion
  148.         IF DELETED()
  149.            Form.cStatus.Text = "DELETED"
  150.         ELSE
  151.            Form.cStatus.Text = ""
  152.         Endif
  153.  
  154.         lVoid = Ord.Refresh()
  155.  
  156.     ELSE
  157.         DO ErrorMsg WITH "End of file encountered!"
  158.  
  159.     ENDIF
  160.     Form.Action = .F.
  161. RETURN
  162. ******************
  163. PROCEDURE CloseOrd
  164.     IF This.Action
  165.         lVoid = This.Submit()
  166.     ELSE
  167.            IF This.Modified()
  168.             DO ErrorMsg WITH "Data write was cancelled!"
  169.            ENDIF
  170.     ENDIF
  171.    USE IN Orders
  172.    USE IN OrdGoods
  173.    USE IN OrdEmp
  174.    USE IN OrdCust
  175.  
  176.     lVoid = This.Release()
  177.  
  178.     mFormOpen=.F.
  179.     DEFINE FORM mTemp PROPERTY VISIBLE .F.
  180.     lVoid = mTemp.OPEN()
  181.     mDesk = mTemp.PARENT
  182.     lVoid = mTemp.CLOSE()
  183.  
  184.     mFormName=SPACE(8)
  185.     mActive=mDesk.ActiveControl()
  186.     IF TYPE("mActive.ClassName")="C"
  187.         mClass=mActive.ClassName
  188.         IF mClass="FORM"
  189.             mFormName=mActive.Name
  190.             mFormOpen=.T.
  191.         ENDIF
  192.     ENDIF
  193.  
  194.     IF .NOT. mFormOpen
  195.          Main.F1.CloseAll.Enabled=.T.
  196.          Main.V.Frm.Enabled=.T.
  197.          Main.S.Srch.Enabled=.F.
  198.          Main.S.Tp.Enabled=.F.
  199.          Main.S.Btm.Enabled=.F.
  200.          Main.S.Pck.Enabled=.T.
  201.          Main.S.Indx.Enabled=.T.
  202.          Main.E.Undo.Enabled=.F.
  203.          Main.E.Save.Enabled=.F.
  204.                   Main.App.Cust.Enabled=.T.
  205.          Main.App.Gds.Enabled=.T.
  206.          Main.App.Acc.Enabled=.T.
  207.          Main.App.Emp.Enabled=.T.
  208.          Main.F1.Bac.Enabled=.T.
  209.          Main.App.Inv.Enabled=.T.
  210.     ENDIF
  211.     Main.App.Ord.Enabled=.T.
  212.  
  213.  
  214. RETURN
  215. ******************
  216. FUNCTION LookupId
  217.  
  218.     PRIVATE This, Form
  219.     lReturn = .F.
  220.     SELECT (This.ALIASNAME)  && Custom Property
  221.     IF SEEK( This.Value )    && Value of the current object
  222.     lReturn = .T.
  223.     ELSE
  224.     DEFINE BROWSE LookUp
  225.     Lookup.Top           =  This.Top + 2
  226.     Lookup.Left          =  This.Left
  227.     Lookup.Key           =  "KeyHand"
  228.     Lookup.OnMouseDblClk =  "KeyHand"
  229.     Lookup.Sizeable      =  .T.
  230.     Lookup.Moveable      =  .T.
  231.     Lookup.MDI           =  .F.
  232.     Lookup.Width         =  77 - This.Left
  233.     Lookup.Alias         =  This.ALIASNAME
  234.     Lookup.StatusMessage =  [Select the desired value and ] + ;
  235.                 [press Enter to choose it] ;
  236.  
  237.     Lookup.Action        = .F.
  238.  
  239.     lVoid = LookUp.ReadModal()
  240.     IF LookUp.Action
  241.         DO CASE
  242.         CASE This.AliasName = "CUST"
  243.             This.Value = OrdCust->Cust_id
  244.  
  245.         CASE This.AliasName = "GOODS"
  246.             This.Value = OrdGoods->Part_id
  247.  
  248.         CASE This.AliasName = "EMPLOYEE"
  249.             This.Value = OrdEmp.Emp_id
  250.         ENDCASE
  251.         lReturn = .T.
  252.     ELSE
  253.         DO ErrorMsg WITH [Lookup failed: ] + LTRIM( STR( This.Value ) )
  254.     ENDIF
  255.  
  256.     ENDIF
  257.     SELECT Orders
  258.  
  259. RETURN lReturn
  260.  
  261. FUNCTION KeyHand
  262. *----------------------------------------------------------------------------
  263. * NAME
  264. *   KeyHand() -
  265. *
  266. *----------------------------------------------------------------------------
  267. *    PRIVATE Form, This
  268. *#define evMouseDown       1
  269. *#define evKeyDown        16
  270. *#define kbEnter          13
  271.  
  272.     IF Event.EventType = 16
  273.     IF Event.KeyValue = 13
  274.         Lookup.Action = .T.
  275.         lVoid = Lookup.Close()
  276.     ENDIF
  277.     ELSE
  278.     IF Event.EventType = 1
  279.         Lookup.Action = .T.
  280.         lVoid = Lookup.Close()
  281.     ENDIF
  282.     ENDIF
  283.  
  284. RETURN .T.
  285.  
  286. ******************
  287. PROCEDURE Add_new
  288.     NewRecord = .T.
  289.  
  290.     *Write data to disk
  291.     lvoid = Form.submit()
  292.  
  293.     * Append a record
  294.     APPEND BLANK
  295.  
  296.     *Refresh Screen Data
  297.     lvoid = Form.refresh()
  298.    Form.cStatus.Text=""
  299. RETURN
  300. ******************
  301. PROCEDURE DelIt && Marks record for deletion
  302.     IF DELETED()
  303.       Form.cStatus.Text = ""
  304.       RECALL
  305.     ELSE
  306.       Form.cStatus.Text = "DELETED"
  307.       DELETE
  308.     ENDIF
  309.  
  310. RETURN
  311. *****************
  312. PROCEDURE CanHand
  313.     Form.Action = .F.
  314.     lVoid = Form.Close()
  315. RETURN
  316. *****************
  317. PROCEDURE RePaint
  318.     SELE Orders
  319.     lVoid = Ord.Refresh()
  320. RETURN
  321. ******************
  322. PROCEDURE PrintForm
  323.  
  324. DEFINE FORM Prt FROM 5,25 TO 16,50 ;
  325.     PROPERTY ;
  326.         TEXT "Print Form"
  327.  
  328. DEFINE TEXT t1 OF Prt AT 1,1 ;
  329.     PROPERTY ;
  330.         Text "Type :",;
  331.         COLORNORMAL "R/W"
  332.  
  333. DEFINE RADIOBUTTON Rep OF Prt AT 2,1 ;
  334.     PROPERTY ;
  335.         Text "Report",;
  336.         Group .T.,;
  337.         COLORNORMAL "N/W",;
  338.         WIDTH 15
  339.  
  340. DEFINE RADIOBUTTON Lab OF Prt AT 3,1 ;
  341.     PROPERTY ;
  342.         Text "Labels",;
  343.         Group .F.,;
  344.         COLORDISABLED "N+/W",;
  345.         WIDTH 15,;
  346.         ENABLED .F.,;
  347.         TABSTOP .F.
  348.  
  349. DEFINE TEXT T3 OF Prt AT 9,5 ;
  350.     PROPERTY ;
  351.         TEXT "PRINTING ..." ,;
  352.         VISIBLE .F.,;
  353.         WIDTH 15
  354.  
  355. DEFINE PUSHBUTTON P1 OF Prt AT 8,12 ;
  356.     PROPERTY ;
  357.         TEXT "&Ok",;
  358.         ONCLICK "RunRep",;
  359.         Width 10
  360.  
  361. DEFINE PUSHBUTTON P2 OF Prt AT 8,2 ;
  362.     PROPERTY ;
  363.         TEXT "&Cancel",;
  364.         ONCLICK "CanHand",;
  365.         Width 10
  366.  
  367. lVoid = Prt.Open()
  368.  
  369. ******************
  370. PROCEDURE Runrep
  371.  
  372. * Check for Labels or Reports
  373. DO CASE
  374.     CASE Form.Rep.Value
  375.          * display to user something is happening
  376.          Form.T3.Visible = .t.
  377.          REPORT FORM Orders TO PRINTER
  378.  
  379. ENDCASE
  380. lVoid = Form.Close()
  381. lVoid = Form.Release()
  382. RETURN
  383.