procedure sale do while .t. opt1=alert("เลือกการขาย",{"เงินสด","เงินเชื่อ","กลับเมนูหลัก"}) if opt1=1 do cashs elseif opt1=2 do saledeb else exit endif close all enddo return //==================== //การขายสินค้าเงินสด procedure cashs set cursor on set color to w/bg+ cls set color to w/b @1,2 clear to 3,77 set color to w/gr @5,2 clear to 19,77 set color to w/rb+ @ 21,2 clear to 23,77 _saleid=0 saleid=_saleid use sale; go bottom _saleid=saleid+1 _custid=0 _status=1 _custname=space(25) _custadd=space(30) _empid=0 _custtel=0 set century on _datesale=date() set color to "rb/bg" @ 24,0 clear to 24,80 @ 24,25 say "[ESC จบการทำงาน]" @ 24,2 say "[Selectc File F2]" set key-1 to findcust _custid=" " @ 2,30 say "การขายเงินสด" @ 2,60 say "รหัสขาย:"+ltrim(str(_saleid)) do while !found() @ 4,2 to 7,77 set color to b/gr,/w @ 5,5 say "รหัสลูกค้า : " get _custid read set key-1 to @ 5,30 say "ชื่อ :" @ 5,61 say"วันที่ :"+dtoc(_datesale) @ 6,5 say "ที่อยู่ :" @ 6,30 say "Tel. :" @ 6,60 say "status :"+ltrim(str(_status)) if lastkey()=27 close all;return endif custid=_custid use customer locate for custid=val(_custid) if found() @ 5,37 say rtrim(custname) @ 6,15 say rtrim(custadd) @ 6,40 say rtrim(custtel) else if _custid=0 @ 5,19 say "ลูกค้าขาจร" @ 5,37 get _custname @ 6,15 get _custadd @ 6,35 get _custtel read exit else @ 10,20 to 12,60 double @ 11,27 say "รหัสลูกค้าไม่พบ กรุณาป้อนใหม่" inkey(0) @ 10,5 clear to 12,70 loop endif endif enddo use sale append blank repl saleid with _saleid,; custid with val(_custid),; date_sale with _datesale,; empid with _empid,; salestatus with _status _sum=0 _stock=0 r=11 j=1 _proid=array(16) _quant:=array(16) _tot=0;accept=1 @ 9,4 say "รหัสสินค้า" @ 9,20 say "ชื่อสินค้า" @ 9,35 say "จำนวน" @ 9,50 say "ราคา" @ 9,65 say "รวม" @ 8,2 to 10,77 do while lastkey()!=27 _proid[j]=1 do while _proid[j]!=0 while !found() use product _proid[j]:=_quant[j]:=0 _tot=0 proid=_proid[j] set color to "rb/bg" @ 24,25 say "[esc]" @ 24,2 say "[select file f2]" set key-1 to findpro _proid[j]=" " @ r,3 get _proid[j] read set key-1 to if _proid[j]=" " @ r,3 clear to r,15 @ r,69 say "---------" tax=_sum*.10 net=_sum-tax @ r+1,50 say "รวมเงิน" @ r+1,67 say net pict "999,999.99" @ r+2,50 say "ภาษี 10%" @ r+2,67 say tax pict "999,999.99" @ r+3,50 say "รวมทั้งสิ้น" @ r+3,67 say _sum pict "999,999.99 " use sale _stotal=0 _discount=0 _rec=0 _net=0 go bottom set color to b/n+ @7,20 clear to 17,50 @7,20 to 17,50 double while lastkey()=27 exit end @ 8,25 say "รายการชำระเงินทั้งหมด" @ 9,25 say "******************" @ 10,25 say "รวมเงิน" @ 10,40 say net pict "999,999.99" @ 11,25 say "ภาษี 10%" @ 11,40 say tax pict "999,999.99" @ 12,25 say "รวมทั้งสิ้น" @ 12,40 say _sum pict "999,999.99" _sum=_sum+_tot @ 14,25 say "รับเงิน : "get _rec pict '999999999.99' read if _rec < _sum while _rec < _sum k8 = alert("เงินไม่พอชำระรับใหม่",{'ok'}) @14,25 say "รับเงิน : "get _rec pict '9999999999.99' read end endif _change=_rec - _sum @ 15,25 say "เงินทอน : "+ltrim(str(_change,15,2)) do findemp inkey(0) do cashprint do askcon close all return endif locate for val(_proid[j])=proid if found() _proname=proname @ r,15 say rtrim(proname) _stock=quantity exit else @ r,15 say "รหัสสินค้าไม่พบ ป้อนใหม่" inkey(0) @ r,15 clear to r,37 loop endif end @ r,38 get _quant[j] @ r,47 say price pict "99,999.99" read while _quant[j]=0 @r,38 get _quant[j] if _quant[j]=0 save screen to sx2 set color to "b/w" @14,20 to 16,50 double @15,21 say "สินค้ามีจำนวน[0] กรุณาใส่ใหม่" inkey(0) restore screen from sx2 endif read end locate for proid =val(_proid[j]) if found() if quantity < _quant[j] @ 22,2 clear to 22,70 @ r,15 say "สินค้ามีไม่พอขาย" @ 22,5 say "สินค้ามีไม่พอขาย มีจำนวน"+ltrim(str(_stock))+; "ถ้าไม่ต้องการใส่ 0" @ 22,57 prompt "[Enterเพื่อใส่จำนวนใหม่ ]" menu to accept if accept=1 @ r,15 clear to r,50 @ r,15 say _proname @ r,46 get _quant[j] read quant1=_quant[j] _tot=quant1*price repl quantity with quantity - quant1 endif else _tot=_quant[j]*price accept=0 repl quantity with quantity - _quant[j] endif endif @ r,60 say _tot pict "99,999.99" @ 22,2 clear to 22,77 if accept=1 .and. quant1!=0 use saledet append blank repl saleid with _saleid,proid with val(_proid[j]),quant with quant1 endif if accept=0 use saledet append blank repl saleid with _saleid,proid with val(_proid[j]),quant with _quant[j] endif if accept=1 if quant1=0 @ r,2 clear to r,77 r-- endif endif r++ if r=19 @ 11,2 clear to 19,77 r=11 endif _sum=_sum+ _tot j++ enddo inkey(0) keyboard chr(27) inkey() enddo inkey(0) close all return //============================== procedure findemp sele 1;use sale sele 2;use employee sele 2 do while !found() _empid=0 empid=_empid @ 21,5 clear to 23,75 @ 22,2 say "รหัสพนักงานขาย : " get _empid read locate for employee->empid=_empid if found() @ 22,35 say "ชื่อ :"+rtrim(employee->empname) else @ 22,35 say "##รหัสพนักงานไม่พบ กรุณาป้อนใหม่## " inkey(0) @ 22,35 clear to 23,75 loop endif enddo sele 1; go bottom repl empid with _empid close all return //=========================== procedure cashprint askprn=alert("สอบถามการพิมพ์ใบเสร็จรับเงิน",{"พิมพ์ใบเสร็จ","ไม่พิมพ์เสร็จ"}) if askprn=1 @ 0,0 clear to 24,79 do print1 @ 22,15 say "****Enter to [print] or ESC to [cancle]*****" inkey(0) if lastkey()=27 return else set device to printer do print1 set device to screen endif else do askcon return endif close all return //=========================== procedure print1 sele 1;use customer sele 2;use sale sele 3;use product sele 4;use saledet sum=0;net=0;tax=0 sele 2; go bottom @ 2,25 say "ใบเสร็จรับเงิน CASH RECEIPT" @ 2,62 say "รหัสใบเสร็จ :"+ltrim(str(saleid)) @ 3,2 say repl("=",77) @ 4,5 say "ร้านอุปกรณ์ไฟฟ้า นิรันดร์ จำกัด" @ 4,62 say "วันที่ :" +dtoc(_datesale) @ 5,5 say " 99 หมู่ 7 บ้านเชียงบาน อ.เชียงคำ จ.พะเยา 56110" @ 6,5 say "โทร.(054)415314" _saleid=saleid _custid=custid _datesale=date_sale @ 8,5 say "รหัสลูกค้า: " +ltrim(str(custid)) sele 1 locate for custid=_custid if found() @ 8,30 say "ชื่อ :" +rtrim(custname) @ 9,5 say "ที่อยู่:" +rtrim(custadd) @ 9,40 say "Tel. :" +rtrim(custtel) else @ 8,30 say "ชื่อ : ลูกค้าขาจร" endif ln=13 @10,2 say repl("_",77) @ 11,4 say "รหัสสินค้า" @ 11,20 say "ชื่อสินค้า" @ 11,50 say "จำนวน" @ 11,60 say "ราคา" @ 11,72 say "รวม" @ 12,2 say repl("_",77) sele 4 locate for saleid=_saleid while found() tot=0 @ ln,3 say proid _proid=proid sele 3 locate for proid=_proid if found() @ ln,13 say rtrim(proname) _price=price endif sele 4 @ ln,45 say quant @ ln,59 say _price pict "999.99" tot=quant*_price @ ln,67 say tot pict "99,999.99" sum=sum+tot skip;ln++ locate rest for saleid=_saleid end tax=sum*.10 net=sum-tax @ ln+1,69 say "---------------" @ ln+2,50 say "รวมเงิน"; @ ln+2,67 say net pict "999,999.99" @ ln+3,50 say "ภาษี 10%"; @ ln+3,67 say tax pict "999,999.99" @ ln+4,50 say "รวมทั้งสิ้น"; @ ln+4,67 say sum pict "999,999.99" return //=========================== procedure askcon @ 22,2 clear to 22,70 @ 22,18 say "คุณต้องการทำต่อไปหรือไม่" @ 22,50 prompt "[Yes]";@ 22,57 prompt "[No]" menu to ans if ans=1 do cashs else close all return endif return //====================== //การขายสินค้าเงินเชื่อ procedure saledeb set cursor on set color to w/bg+ cls set color to w/b @ 1,2 clear to 3,77 set color to w/gr @5,2 clear to 19,77 set color to w/rb+ @ 21,2 clear to 23,77 _saleid=0 use sale; go bottom _saleid=saleid+1 saleid=_saleid _custid=0 _empid=0 _status=2 set century on _datesale=date() set color to "rb/bg" @ 24,0 clear to 24,80 @ 24,25 say "[ESC จบการทำงาน]" @ 24,2 say "[Selectc File F2]" set key-1 to findcust _custid=" " @ 2,30 say "การขายเงินเชื่อ" @ 2,65 say "รหัสขาย: "+ltrim(str(_saleid)) do while !found() @ 4,2 to 7,77 set color to b/gr,/w @ 5,5 say "รหัสลูกค้า :" get _custid read @ 5,30 say "ชื่อ :" @ 5,61 say"วันที่ :"+dtoc(_datesale) @ 6,5 say "ที่อยู่ :" @ 6,45 say "Tel. : " @ 6,63 say "status :"+ltrim(str(_status)) set key-1 to if lastkey()=27 close all;return endif use customer locate for custid=val(_custid) if found() @ 5,37 say rtrim(custname) @ 6,15 say rtrim(custadd) @ 6,50 say rtrim(custtel) else @ 10,20 to 12,60 double @ 11,27 say "รหัสลูกค้าไม่พบ กรุณาป้อนใหม่" inkey(0) @ 10,5 clear to 12,70 loop endif enddo use sale append blank repl saleid with _saleid,; custid with val(_custid),; date_sale with _datesale,; empid with _empid,; salestatus with _status _sum=0 r=11 j=1 _proid:=array(16) _quant:=array(16) _tot=0;quant1=0;accept=1 @ 9,4 say "รหัสสินค้า" @ 9,20 say "ชื่อสินค้า" @ 9,50 say "จำนวน" @ 9,60 say "ราคา" @ 9,72 say "รวม" @ 8,2 to 10,77 do while lastkey()!=27 _proid[j]=1 proid=_proid[j] do while _proid[j]!=0 while !found() use product _proid[j]:=_quant[j]:=0 _tot=0 proid=_proid[j] set color to "rb/bg" @ 24,25 say "[esc]" @ 24,2 say "[select file f2]" set key-1 to findpro _proid[j]=" " @ r,3 get _proid[j] read set key-1 to if _proid[j]=" " @ r,3 clear to r,15 @ r,69 say "---------" tax=_sum*.10 net=_sum-tax @ r+1,50 say "รวมเงิน" @ r+1,67 say net pict "999,999.99" @ r+2,50 say "ภาษี 10%" @ r+2,67 say tax pict "999,999.99" @ r+3,50 say "รวมทั้งสิ้น" @ r+3,67 say _sum pict "999,999.99" do findemp use receivab append blank repl custid with val(_custid),saleid with _saleid,; date_sale with _datesale,date_pay with _datesale+15,; total with _sum,; pay with 0 inkey(0) do debprint do askcon1 close all return endif proid=val(_proid[j]) locate for val(_proid[j])=proid if found() @ r,15 say rtrim(proname) _proname=proname _stock=quantity exit else @ r,15 say "รหัสสินค้าไม่พบ ป้อนใหม่" inkey(0) @ r,15 clear to r,37 loop endif end @ r,45 get _quant[j] @ r,55 say price pict "99,999.99" read while _quant[j]=0 @r,45 get _quant[j] if _quant[j]=0 save screen to sx2 set color to "b/w" @14,20 to 16,50 double @15,21 say "สินค้ามีจำนวน[0] กรุณาใส่ใหม่" inkey(0) restore screen from sx2 endif read end locate for proid = val(_proid[j]) if found() if quantity < _quant[j] @ 22,2 clear to 22,70 @ r,15 say "สินค้ามีไม่พอขาย" @22,5 say "สินค้ามีไม่พอขาย มีจำนวน"+ltrim(str(_stock))+; "ถ้าไม่ต้องการใส่ 0" @ 22,57 prompt "[Enter to get ]" menu to accept if accept=1 @ r,15 clear to r,50 @ r,15 say _proname @ r,37 get _quant[j] read quant1=_quant[j] _tot=quant1*price repl quantity with quantity - quant1 endif else _tot= _quant[j]*price accept=0 repl quantity with quantity - _quant[j] endif endif @ r,68 say _tot pict "99,999.99" @ 22,2 clear to 22,77 if accept=1 .and. quant1!=0 use saledet append blank repl saleid with _saleid,proid with val (_proid[j]),quant with quant1 endif if accept=0 use saledet append blank repl saleid with _saleid,proid with val(_proid[j]),quant with _quant[j] endif if accept=1 if quant1=0 @ r,2 clear to r,77 r-- endif endif r++ if r=19 @ 11,2 clear to 19,77 r=11 endif _sum=_sum+ _tot j++ enddo inkey(0) keyboard chr(27) inkey() enddo inkey(0) close all return //=========================== procedure debprint askprn=alert("สอบถามการพิมพ์ใบเสร็จรับเงิน",{"พิมพ์ใบเสร็จ","ไม่พิมพ์เสร็จ"}) if askprn=1 @ 0,0 clear to 24,79 do print2 @ 22,15 say "****enter to [print] or esc to [cancle]*****" inkey(0) if lastkey()=27 return else set device to printer do print2 set device to screen endif else do askcon1 return endif close all return //=========================== procedure print2 sele 1;use customer sele 2;use sale sele 3;use product sele 4;use saledet sum=0;net=0;tax=0 sele 2; go bottom @ 2,28 say "ใบส่งของ DELIVERY ORDER" @ 2,58 say "รหัสใบส่งของ :"+ltrim(str(saleid)) @ 3,2 say repl("=",77) @ 4,5 say "ร้านอุปกรณ์ไฟฟ้า นิรันดร์ จำกัด" @ 4,62 say "วันที่ :" +dtoc(_datesale) @ 5,5 say " 99 หมู่ 7 บ้านเชียงบาน อ.เชียงคำ จ.พะเยา 56110" @ 6,5 say "โทร.(054)415314" _saleid=saleid _custid=custid _datesale=date_sale @ 8,5 say "รหัสลูกค้า: " +ltrim(str(custid)) sele 1 locate for custid=_custid if found() @ 8,30 say "ชื่อ :" +rtrim(custname) @ 9,5 say "ที่อยู่:"+rtrim(custadd) endif ln=13 @10,2 say repl("_",77) @ 11,4 say "รหัสสินค้า" @ 11,20 say "ชื่อสินค้า" @ 11,35 say "จำนวน" @ 11,60 say "ราคา" @ 11,72 say "รวม" @ 12,2 say repl("_",77) sele 4 locate for saleid=_saleid while found() tot=0 @ ln,3 say proid _proid=proid sele 3 locate for proid=_proid if found() @ ln,15 say rtrim(proname) _price=price endif sele 4 @ ln,49 say quant @ ln,60 say _price pict "999.99" tot=quant*_price @ ln,67 say tot pict "99,999.99" sum=sum+tot skip;ln++ locate rest for saleid=_saleid end tax=sum*.10 net=sum-tax @ ln+1,69 say "---------------" @ ln+2,50 say "รวมเงิน"; @ ln+2,67 say net pict "999,999.99" @ ln+3,50 say "ภาษี 10%"; @ ln+3,67 say tax pict "999,999.99" @ ln+4,50 say "รวมทั้งสิ้น"; @ ln+4,67 say sum pict "999,999.99" close all return //=========================== procedure askcon1 @ 22,2 clear to 22,70 @ 22,18 say "คุณต้องการทำต่อไปหรือไม่" @ 22,50 prompt "[Yes]";@ 22,57 prompt "[No]" menu to ans if ans=1 do saledeb else close all return endif return //============================ //การสั่งซื้อสินค้า procedure orpro set color to w/bg+ cls set color to w/b @ 1,2 clear to 3,77 set color to w/gr @5,2 clear to 19,77 set color to w/rb+ @ 21,2 clear to 23,77 _saleid=0;_orderid=0 use order; go bottom _orderid=orderid+1 _suppid=0 _empid=0 set century on _dateorder=date() set color to "rb/bg" @ 24,0 clear to 24,80 @ 24,25 say "[ESC จบการทำงาน]" @ 24,2 say "[Selectc File F2]" set key-1 to findsupp _suppid=" " @2,34 say "การสั่งซื้อสินค้า" @2,63 say "รหัสสั่งซื้อ :" +ltrim(str(_orderid)) do while !found() @4,2 to 7,77 set color to b/gr,/w @ 5,3 say "รหัสผู้จำหน่าย: " get _suppid @ 5,32 say "ชื่อ :" @ 5,63 say "วันที่ : "+dtoc(_dateorder) @ 6,3 say "ที่อยู่ :" @ 6,50 say "Tel :" read if lastkey()=27 close all; return endif use supplier locate for suppid=val(_suppid) if found() @ 5,41 say rtrim(suppname) @ 6,14 say rtrim(suppadd) @ 6,55 say rtrim(supptel) else @ 10,20 to 12,65 doub @ 11,27 say "รหัสผู้จำหน่ายไม่พบ กรุณาป้อนใหม่" inkey(0) @10,5 clear to 12,70 loop endif enddo use order append blank repl orderid with _orderid,; suppid with val(_suppid),; empid with _empid,; date_order with _dateorder _sum=0 r=11;j=1 _proid:=array(16) _quant:=array(16) _tot=0 @ 9,4 say "รหัสสินค้า" @ 9,20 say "ชื่อสินค้า" @ 9,50 say "จำนวน" @ 9,60 say "ราคา" @ 9,72 say "รวม" @8,2 to 10,77 do while lastkey()!=27 _proid[j]=1 do while _proid[j]!=0 while !found() use product _proid[j]:=_quant[j]:=0 _tot=0 set color to "rb/bg" @ 24,0 clear to 24,80 @ 24,25 say "[ESC จบการทำงาน]" @ 24,2 say "[Selectc File F2]" set key-1 to findpro _proid[j]=" " @ r,3 get _proid[j] read set key-1 to if _proid[j]=" " @ r,3 clear to r,15 @ r,3 say repl("-",73) tax=_sum*.10 net=_sum-tax @ r+1,50 say "รวมเงิน";@ r+1,67 say net pict "999,999.99" @ r+2,50 say "ภาษี 10% ";@r+2,67 say tax pict "999,999.99" @ r+3,50 say "รวมทั้งสิ้น";@ r+3,67 say _sum pict "999,999.99" do find1 inkey(0) do orderprint do askcon2 close all return endif locate for proid=val(_proid[j]) if found() @ r,15 say rtrim(proname) exit else @ r,15 say "รหัสสินค้าไม่พบ ป้อนใหม่";inkey(0) @ r,15 clear to r,37 loop endif end @ r,45 get _quant[j] @ r,57 say cost pict "99,999.99" read while _quant[j]=0 @r,45 get _quant[j] if _quant[j]=0 save screen to sx2 set color to "b/w" @14,20 to 16,50 double @15,21 say "สินค้ามีจำนวน[0] กรุณาใส่ใหม่" inkey(0) restore screen from sx2 endif read end _tot=_quant[j]*cost @ r,68 say _tot pict "99,999.99" r++ if r=19 @ 11,2 clear to 19,77 r=11 endif _sum = _sum + _tot use orderdet append blank repl orderid with _orderid,; proid with val(_proid[j]),; pquant with _quant[j] j++ enddo inkey(0);keyboard chr(27);inkey() enddo inkey(0) close all return //================= procedure askcon2 @ 22,2 clear to 22,70 @ 22,18 say "คุณต้องการทำต่อไปหรือไม่" @ 22,50 prompt "[Yes]";@ 22,57 prompt "[No]" menu to ans if ans=1 do orpro else close all return endif return //================= procedure orderprint askprn=alert("สอบถามการพิมพ์ใบเสร็จ",{"พิมพ์ใบเสร็จ","ไม่พิมพ์เสร็จ"}) if askprn=1 @ 0,0 clear to 24,79 do print3 @ 22,15 say "****enter to [print] or esc to [cancle]*****" inkey(0) if lastkey()=27 return else set device to printer do print3 set device to screen endif else do askcon2 return endif close all return //=========================== procedure print3 sele 1;use supplier sele 2;use order sele 3;use product sele 4;use orderdet sum=0 sele 2; go bottom @ 2,28 say "ใบสั่งซื้อสินค้า PURCHASE" @ 2,58 say "รหัสใบสั่งซื้อ :"+ltrim(str(orderid)) @ 3,2 say repl("=",77) @ 4,5 say "ร้านอุปกรณ์ไฟฟ้า นิรันดร์ จำกัด" @ 4,62 say "วันที่ :" +dtoc(date_order) @ 5,5 say " 99 หมู่ 7 บ้านเชียงบาน อ.เชียงคำ จ.พะเยา 56110" @ 6,5 say "โทร.(054)415314" _orderid=orderid _suppid=suppid _dateorder=date_order @ 8,5 say "รหัสผู้จำหน่าย:" +ltrim(str(suppid)) sele 1 locate for suppid=_suppid if found() @ 8,30 say "ชื่อ :" +rtrim(suppname) @ 9,5 say "ที่อยู่ :"+rtrim(suppadd) @ 9,45 say "โทรศัพท์ :" + rtrim(supptel) endif ln=13 @10,2 say repl("_",77) @ 11,4 say "รหัสสินค้า" @ 11,20 say "ชื่อสินค้า" @ 11,50 say "จำนวน" @ 11,60 say "ราคา" @ 11,72 say "รวม" @ 12,2 say repl("_",77) sele 4 locate for orderid=_orderid while found() tot=0 @ ln,3 say proid _proid=proid sele 3 locate for proid=_proid if found() @ ln,15 say rtrim(proname) _cost=cost endif sele 4 @ ln,49 say pquant @ ln,55 say _cost pict "999.99" tot=pquant*_cost @ ln,67 say tot pict "99,999.99" sum=sum+tot skip;ln++ locate rest for orderid=_orderid end tax=sum*.10 net=sum-tax @ ln+1,69 say "---------------" @ ln+2,50 say "รวมเงิน"; @ ln+2,67 say net pict "999,999.99" @ ln+3,50 say "ภาษี 10%"; @ ln+3,67 say tax pict "999,999.99" @ ln+4,50 say "รวมทั้งสิ้น"; @ ln+4,67 say sum pict "999,999.99" close all return //=========================== procedure find1 sele 1;use order sele 2;use employee sele 2 do while !found() _empid=0 empid=_empid @ 21,5 clear to 23,75 @ 22,2 say "รหัสพนักงานขาย : " get _empid read locate for employee->empid=_empid if found() @ 22,35 say "ชื่อ :"+rtrim(employee->empname) else @ 22,35 say "##รหัสพนักงานไม่พบ กรุณาป้อนใหม่## " inkey(0) @ 22,35 clear to 23,75 loop endif enddo sele 1; go bottom repl empid with _empid close all return //=========================== //การตรวจรับสินค้า procedure preceive set color to w/bg+ cls set color to w/b @ 1,2 clear to 3,77 set color to w/gr @5,2 clear to 19,77 set color to w/rb+ @ 21,2 clear to 23,77 _recid=0 _empid=0 _orderid=0 use receive; go bottom _recid=recid+1 set century on _daterec=date() set color to "rb/bg" @ 24,25 say "[esc]" @ 24,2 say "[select file f2]" set key-1 to findor _orderid=" " @ 2,34 say "การตรวจรับสินค้า" @ 2,56 say "เลขที่ใบรับสินค้า: " + ltrim(str(_recid)) do while !found() set color to w/g,/w @ 5,3 say "เลขที่ใบสั่งซื้อสินค้า :" get _orderid read set key-1 to if lastkey()=27 close all; return endif @ 5,58 say"วันที่ :"+dtoc(_daterec) use order locate for orderid=val(_orderid) if found() _suppid=suppid @ 4,2 to 8,77 @6,3 say "รหัสผู้จำหน่าย :" @6,25 say "ชื่อ :" @7,3 say "ที่อยู่ :" @7,50 say "Tel :" use supplier locate for suppid=_suppid if found() @ 6,20 say ltrim(str(_suppid)) @ 6,35 say rtrim(suppname) @ 7,13 say rtrim(suppadd) @ 7,55 say rtrim(supptel) endif else @ 10,20 to 12,60 double @ 11,27 say "รหัสสั่งซื้อ"+ltrim(str(_orderid))+"ไม่พบ กรุณาป้อนใหม่" inkey(0) @ 10,5 clear to 12,70 loop endif enddo use receive append blank repl recid with _recid,; orderid with val(_orderid),; empid with _empid,; suppid with _suppid,; date_rec with _daterec _sum=0 r=12 _tot=0 close all @ 10,4 say "รหัสสินค้า" @ 10,20 say "ชื่อสินค้า" @ 10,50 say "จำนวน" @ 10,60 say "ราคา" @ 10,72 say "รวม" @ 9,2 to 11,77 sele 1; use orderdet sele 2; use product sele 3; use receidet sele 1 locate for orderid=val(_orderid) while found() _proid=0; _quant=0 _quant=pquant _proid=proid @ r,6 say ltrim(str(_proid)) sele 2 locate for proid=_proid if found() @ r,15 say rtrim(proname) endif @ r,52 get _quant @ r,57 say cost pict "99,999.99" read _tot=_quant*cost @ r,68 say _tot pict "99,999.99" repl quantity with quantity + _quant if r=19 @ 12,2 clear to 19,77 r=12 endif _sum=_sum+_tot if _quant!=0 sele 3 append blank repl recid with _recid repl proid with _proid repl rquant with _quant endif sele 1 skip;r++ locate rest for orderid =val(_orderid) end @ r,3 say repl("_",73) tax = _sum*.10 net= _sum-tax @ r+1,50 say "รวมเงิน" @ r+1,67 say net pict "999,999.99" @ r+2,50 say "ภาษี 10%" @ r+2,67 say tax pict "999,999.99" @ r+3,50 say "รวมทั้งสิ้น" @ r+3,67 say _sum pict "999,999.99" use payable append blank repl suppid with _suppid,; recid with _recid,; pay_money with _sum,; pay_less with 0,; date_paid with _daterec+15 do find2 inkey(0) do receiveprint do askcon3 close all return //========================= procedure askcon3 @ 22,2 clear to 22,70 @ 22,18 say "คุณต้องการทำต่อไปหรือไม่" @ 22,50 prompt "[Yes]";@ 22,57 prompt "[No]" menu to ans if ans=1 do preceive else close all return endif return //================= procedure receiveprint askprn=alert("สอบถามการพิมพ์ใบเสร็จรับเงิน",{"พิมพ์ใบเสร็จ","ไม่พิมพ์เสร็จ"}) if askprn=1 @ 0,0 clear to 24,79 do print4 @ 22,15 say "****enter to [print] or esc to [cancle]*****" inkey(0) if lastkey()=27 return else set device to printer do print4 set device to screen endif else do askcon3 return endif close all return //=========================== procedure print4 use receive; go bottom @ 2,28 say "การตรวจรับสินค้า " _recid=recid @ 2,58 say "เลขที่ใบรับสินค้า:"+ltrim(str(_recid)) @ 3,2 say repl("=",77) @ 4,5 say "ร้านอุปกรณ์ไฟฟ้า นิรันดร์ จำกัด" @ 4,62 say "วันที่ :" +dtoc(date_rec) @ 5,5 say " 99 หมู่ 7 บ้านเชียงบาน อ.เชียงคำ จ.พะเยา 56110" @ 6,5 say "โทร.(054)415314" @ 8,3 say "เลขที่ใบสั่งซื้อสินค้า :"+ltrim(str(orderid)) _orderid=orderid use order locate for orderid=_orderid if found() _suppid=suppid use supplier locate for suppid=_suppid if found() @ 9,3 say "รหัสผู้จำหน่าย:" +ltrim(str(suppid)) @ 9,25 say "ชื่อ :" +rtrim(suppname) @ 10,3 say "ที่อยู่ :"+ rtrim(suppadd) @ 10,40 say "Tel :"+rtrim(supptel) endif endif close all _sum=0 r=14 _tot=0 @10,2 say repl("_",77) @ 11,4 say "รหัสสินค้า" @ 11,20 say "ชื่อสินค้า" @ 11,50 say "จำนวน" @ 11,60 say "ราคา" @ 11,72 say "รวม" @ 12,2 say repl("_",77) sele 1;use product sele 2;use receidet locate for recid=_recid while found() _rquant=rquant _proid=proid @ r,6 say ltrim(str(proid)) sele 1 locate for proid=_proid if found() @ r,15 say rtrim(proname) endif @ r,52 say _rquant @ r,57 say cost pict "99,999.99" _tot=_rquant*cost @ r,68 say _tot pict "99,999.99" if r=25 eject endif _sum=_sum+_tot sele 2 skip;r++ locate rest for recid=_recid end @ r,3 say repl("_",73) tax=_sum*.10 net=_sum-tax @ r+1,50 say "รวมเงิน"; @ r+1,67 say net pict "999,999.99" @ r+2,50 say "ภาษี 10%"; @ r+2,67 say tax pict "999,999.99" @ r+3,50 say "รวมทั้งสิ้น"; @ r+3,67 say _sum pict "999,999.99" close all return //=========================== procedure find2 sele 1;use receive sele 2;use employee sele 2 do while !found() _empid=0 empid=_empid @ 21,5 clear to 23,75 @ 22,2 say "รหัสพนักงานขาย : " get _empid read locate for employee->empid=_empid if found() @ 22,35 say "ชื่อ :"+rtrim(employee->empname) else @ 22,35 say "##รหัสพนักงานไม่พบ กรุณาป้อนใหม่## " inkey(0) @ 22,35 clear to 23,75 loop endif enddo sele 1; go bottom repl empid with _empid close all return //=========================== procedure askcancel do while .t. askcan=alert("เลือกการยกเลิกการขาย",{"ยกเลิกทั้งหมด","ยกเลิกบางรายการ",; "กลับเมนูหลัก"}) if askcan=1 do cancel1 elseif askcan=2 do cancel2 else exit endif close all enddo return //========================== //การยกเลิกรายการขายทั้งหมด procedure cancel1 sele 1 ; use sale sele 2 ; use customer sele 3 ; use saledet sele 4 ; use product sele 5 ; use receivab ans=1 do while ans=1 set color to w/bg+ cls set color to w/b @ 1,2 clear to 3,77 set color to w/gr @5,2 clear to 19,77 set color to w/rb+ @ 21,2 clear to 23,77 _saleid=0;ans=0 set century on _date=date() sele sale; goto bottom set color to "rb/bg" @ 24,0 clear to 24,80 @ 24,25 say "[ESC จบการทำงาน]" @ 24,2 say "[Selectc File F2]" set key-1 to findsale _saleid=" " @ 2,27 say "การยกเลิกรายการขายสินค้าทั้งหมด" do while !found() set color to w/g,/w @ 5,3 say "เลขที่รายการขายสินค้า :" get _saleid read if lastkey()=27 close all return endif @ 5,58 say "วันที่ :" +dtoc(_date) Sele sale goto top locate for saleid=val(_saleid) if found() _custid=custid @ 4,2 to 8,77 @ 6,3 say "รหัสลูกค้า:" @ 6,25 say "ชื่อ :" @ 7,3 say "ที่อยู่ ## :" @ 7,35 say "Tel. :" sele Customer goto top locate for custid= _custid if found() @ 6,20 say ltrim(str(_custid)) @ 6,35 say rtrim(custname) @ 7,13 say rtrim(custadd) @ 7,38 say rtrim(custtel) else if custid=0 @ 6,35 say "ลูกค้าขาจร" exit endif endif else @ 10,20 to 12,65 double @ 11,27 say "รหัสขาย"+ltrim(str(val(_saleid)))+"ไม่พบ กรุณาป้อนใหม่" inkey(0) @ 10,5 clear to 12,70 loop endif enddo _sum=0; _tot=0 r=12 @ 10,4 say "รหัสสินค้า" @ 10,20 say "ชื่อสินค้า" @ 10,50 say "จำนวน" @ 10,60 say "ราคา" @ 10,72 say "รวม" @ 9,2 to 11,77 sele saledet goto top locate for saleid = val(_saleid) while found() _quant=quant _proid=proid sele product @ r,6 say ltrim(str(_proid)) goto top locate for proid=_proid if found() @ r,15 say rtrim(proname) endif @ r,52 say _quant @ r,57 say price pict "99,999.99" _tot=_quant*price @ r,68 say _tot pict "99,999.99" if r=19 @ 12,2 clear to 19,77 r=12 endif _sum=_sum+_tot sele saledet skip;r++ locate rest for saleid=val(_saleid) end @ r,3 say repl("-",73) tax=_sum*.10 net=_sum-tax @ r+1,50 say "รวมเงิน";@ r+1,67 say net pict"999,999.99" @ r+2,50 say "ภาษี 10%";@ r+2,67 say tax pict "999,999.99" @ r+3,50 say"รวมทั้งสิ้น";@ r+3,67 say _sum pict "999,999.99" @ 22,2 clear to 22,77 @ 22,15 say "คุณต้องการยกเลิกรายการนี้หรือไม่" @ 22,50 prompt "[Yes]" @ 22,60 prompt "[No]" menu to ans if ans=1 sele saledet goto top locate for saledet->saleid = val(_saleid) while found() delete;pack _num=quant _proid=proid sele sale goto top locate for sale->saleid=val(_saleid) if found() _custid=custid delete;pack endif sele receivab goto top locate for custid = _custid .and. saleid = val(_saleid) if found() delete;pack endif sele product goto top locate for proid=_proid if found() repl quantity with quantity+_num endif sele saledet skip locate rest for saledet->saleid=val(_saleid) //แฟ้ม->ฟิลด์ enddo endif @ 22,2 clear to 22,77 @ 22,18 say "คุณต้องการทำต่อไปหรือไม่" @ 22,50 prompt "[Yes]"; @ 22,57 prompt "[No]" menu to ans if ans=2 close all exit endif enddo close all return //======================== //การยกเลิกรายการขายบางรายการ procedure cancel2 sele 1; use saledet sele 2; use product sele 3; use sale sele 4; use receivab sele 5; use customer ans=1 do while ans=1 set color to w/bg+ cls set color to w/b @ 1,2 clear to 3,77 set color to w/gr @5,2 clear to 19,77 set color to w/rb+ @ 21,2 clear to 23,77 _saleid=0;ans=0 set century on _date=date() sele sale;goto bottom set color to "rb/bg" @ 24,0 clear to 24,80 @ 24,25 say "[ESC จบการทำงาน]" @ 24,2 say "[Selectc File F2]" set key-1 to findsale _saleid=" " @ 2,27 say "การยกเลิกรายการขายบางรายการ" do while !found() set color to w/g,/w @ 5,3 say "เลขที่รายการขายสินค้า :" get _saleid read if lastkey()=27 close all return endif @ 5,58 say "วันที่ :" +dtoc(_date) sele sale goto top locate for sale->saleid=val(_saleid) if found() _custid=custid @ 4,2 to 8,77 @ 6,3 say "รหัสลูกค้า :" @ 6,25 say "ชื่อ :" @ 7,3 say "ที่อยู่ # # :" @ 7,35 say "Tel. :" sele customer goto top locate for custid= _custid if found() @ 6,20 say ltrim(str(_custid)) @ 6,35 say rtrim(custname) @ 7,13 say rtrim(custadd) @ 7,38 say rtrim(custtel) else if custid=0 @ 6,35 say "ลูกค้าขาจร" exit endif endif else @ 10,20 to 12,65 double @ 11,27 say "รหัสขาย"+ltrim(str(val(_saleid)))+"ไม่พบ กรุณาป้อนใหม่" inkey(0) @ 10,5 clear to 12,70 loop endif enddo _sum=0; _tot=0 r=12 @ 10,4 say "รหัสสินค้า" @ 10,20 say "ชื่อสินค้า" @ 10,50 say "จำนวน" @ 10,60 say "ราคา" @ 10,72 say "รวม" @ 9,2 to 11,77 sele saledet goto top locate for saledet->saleid = val(_saleid) while found() _quant=quant _proid=proid sele sale goto top locate for saleid=val(_saleid) if found() _custid=custid endif @ r,6 say ltrim(str(_proid)) sele product goto top locate for proid=_proid if found() @ r,15 say rtrim(proname) endif @ r,52 say _quant @ r,57 say price pict "99,999.99" _tot=_quant*price @ r,68 say _tot pict "99,999.99" if r=19 @ 12,2 clear to 19,77 r=12 endif @ 22,2 clear to 22,77 @ 22,15 say "คุณต้องการยกเลิกรายการนี้หรือไม่" @ 22,50 prompt "[Yes]" @ 22,60 prompt "[No]" menu to ans if ans=1 sele product goto top locate for proid=_proid if found() repl quantity with quantity+_quant endif sele receivab goto top locate for saleid = val(_saleid) .and. custid = _custid if found() repl total with total- _tot endif sele saledet delete ; pack endif _sum = _sum+_tot sele saledet skip;r++ locate rest for saleid=val(_saleid) enddo @ r,3 say repl("_",73) tax=_sum*.10 net=_sum-tax @ r+1,50 say "รวมเงิน";@ r+1,67 say net pict "999,999.99" @ r+2,50 say "ภาษี 10%";@ r+2,67 say tax pict "999,999.99" @ r+2,50 say "รวมทั้งสิ้น";@ r+3,67 say _sum pict "999,999.99" @ 22,2 clear to 22,77 @ 22,18 say "คุณต้องการทำต่อไปหรือไม่" @ 22,50 prompt "[Yes]"; @ 22,57 prompt "[No]" menu to ans if ans=2 close all return endif enddo close all return //========================== |