1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879 |
- $PBExportHeader$w_rp_cust_saletask.srw
- forward
- global type w_rp_cust_saletask from w_publ_easyq
- end type
- type dw_3 from u_dw_rbtnfilter within w_rp_cust_saletask
- end type
- type cbx_ifdate from checkbox within w_rp_cust_saletask
- end type
- type tv_1 from uo_tv_cusarea within w_rp_cust_saletask
- end type
- type cb_bill from uo_imflatbutton within w_rp_cust_saletask
- end type
- type st_1 from statictext within w_rp_cust_saletask
- end type
- type ddlb_1 from dropdownlistbox within w_rp_cust_saletask
- end type
- type ddlb_retrstatus from dropdownlistbox within w_rp_cust_saletask
- end type
- type st_5 from statictext within w_rp_cust_saletask
- end type
- type ddlb_scid from uo_ddlb_scid within w_rp_cust_saletask
- end type
- type cb_outware_info from uo_imflatbutton within w_rp_cust_saletask
- end type
- type cb_add_sale from uo_imflatbutton within w_rp_cust_saletask
- end type
- type cbx_all from checkbox within w_rp_cust_saletask
- end type
- type cb_4 from uo_imflatbutton within w_rp_cust_saletask
- end type
- type cbx_1 from checkbox within w_rp_cust_saletask
- end type
- type cbx_iffinish from checkbox within w_rp_cust_saletask
- end type
- type s_mx_arr from structure within w_rp_cust_saletask
- end type
- type s_mx from structure within w_rp_cust_saletask
- end type
- end forward
- type s_mx_arr from structure
- s_mx mx[]
- end type
- type s_mx from structure
- long scid
- long taskid
- long printid
- end type
- global type w_rp_cust_saletask from w_publ_easyq
- integer width = 5353
- string title = "销售订单明细跟踪表"
- event retrieve_dw2 ( long arg_custid, long arg_mtrlid )
- event ue_outware_info ( )
- event ue_retrieve_info ( )
- event ue_view_workpricetable ( )
- event ue_outware_add_hz ( )
- event ue_outware_add ( )
- dw_3 dw_3
- cbx_ifdate cbx_ifdate
- tv_1 tv_1
- cb_bill cb_bill
- st_1 st_1
- ddlb_1 ddlb_1
- ddlb_retrstatus ddlb_retrstatus
- st_5 st_5
- ddlb_scid ddlb_scid
- cb_outware_info cb_outware_info
- cb_add_sale cb_add_sale
- cbx_all cbx_all
- cb_4 cb_4
- cbx_1 cbx_1
- cbx_iffinish cbx_iffinish
- end type
- global w_rp_cust_saletask w_rp_cust_saletask
- type variables
- int cur_status = 1 //当前查询订单状态// -1 所有
- int cur_stattype = 0
- long cur_scid_arr[]
- String ls_areaname = ''
- long cur_scid = 0
- int li_type = 0 //控制界面
- int cur_ifstop=0
- int cur_iffinish = 0
- Long ins_if_info = 0,ins_if_saleout_info = 0
- end variables
- forward prototypes
- public subroutine wf_outware_add (long arg_scid[], long arg_taskid[], long arg_printid[], ref string arg_msg)
- end prototypes
- event ue_outware_info();IF Not f_power_ind(267) THEN
- MessageBox(publ_operator,'没有使用权限!')
- RETURN
- END IF
- Long ll_row
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- RETURN
- END IF
- Long ll_scid,ll_taskid,ll_printid
- ll_scid = dw_1.Object.u_saletaskmx_scid[ll_row]
- ll_taskid = dw_1.Object.u_saletask_taskid[ll_row]
- ll_printid = dw_1.Object.u_saletaskmx_printid[ll_row]
- s_edit_index_tran s_tran_info
- s_tran_info.b_long = ll_scid
- s_tran_info.c_long = ll_taskid
- s_tran_info.d_long = ll_printid
- IF IsValid(w_outware_sale_info) THEN
- w_outware_sale_info.WindowState = Normal!
- w_outware_sale_info.ins_scid = ll_scid
- w_outware_sale_info.ins_taskid = ll_taskid
- w_outware_sale_info.ins_printid = ll_printid
- w_outware_sale_info.wf_retrieve(ll_scid,ll_taskid,ll_printid)
- ELSE
- OpenWithParm(w_outware_sale_info,s_tran_info)
- END IF
- end event
- event ue_retrieve_info();Long ll_row
- Long ll_scid,ll_taskid,ll_printid
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- ll_scid = 0
- ll_taskid = 0
- ll_printid = 0
- ELSE
- ll_scid = dw_1.Object.u_saletaskmx_scid[ll_row]
- ll_taskid = dw_1.Object.u_saletask_taskid[ll_row]
- ll_printid = dw_1.Object.u_saletaskmx_printid[ll_row]
- END IF
- IF IsValid(w_outware_sale_info) THEN
- w_outware_sale_info.WindowState = Normal!
- w_outware_sale_info.ins_scid = ll_scid
- w_outware_sale_info.ins_taskid = ll_taskid
- w_outware_sale_info.ins_printid = ll_printid
- w_outware_sale_info.wf_retrieve(ll_scid,ll_taskid,ll_printid)
- END IF
- end event
- event ue_view_workpricetable();IF Not f_power_ind(1335) THEN
- MessageBox(publ_operator,'没有使用权限!')
- RETURN
- END IF
- string ls_mtrlcode
- if dw_1.getrow() <= 0 then
- MessageBox(publ_operator,"请选择目标行")
- return
- end if
- ls_mtrlcode = dw_1.object.u_mtrldef_mtrlcode[dw_1.getrow()]
- s_edit_index_tran s_tran
- s_tran.work_mode = 0
- s_tran.arg_pkid = 0
- s_tran.arg_string_code = ls_mtrlcode
- s_tran.c_long = 0
- s_tran.d_long = 2
- s_tran.if_retrieve_all = local_retrieve_all
- openwithparm(w_sc_workpricetable, s_tran)
- end event
- event ue_outware_add_hz();Long arr_cusid[]
- String arr_outrep[]
- String arr_rel_address[]
- String arr_rel_rep[]
- String arr_rel_tele[]
- Long arr_banktypeid[], ll_banktypeid
- Long arr_moneyid[], ll_moneyid
- Decimal arr_mrate[], ld_mrate
- Long arr_scid[]
- s_mx_arr bills[]
- String arr_part[]
- String arr_dscrp[]
- String arr_dscrp2[], ls_dscrp2
- Decimal arr_otheramt[], ld_otheramt
- Decimal arr_damt[], ld_damt
- String arr_freight[]
- String arr_freight_tele[]
- String arr_cus_fax[]
- Long ll_scid,ll_taskid,ll_printid
- Long cnt = 0
- Long i, j
- IF Not (f_power_ind(11) Or f_power_ind(869)) THEN
- MessageBox(publ_operator,'没有使用权限!')
- RETURN
- END IF
- FOR i = 1 To dw_1.RowCount()
- IF dw_1.Object.ch[i] = 1 THEN
-
- ll_scid = dw_1.Object.u_saletaskmx_scid[i]
- ll_taskid = dw_1.Object.u_saletask_taskid[i]
- ll_printid = dw_1.Object.u_saletaskmx_printid[i]
-
- SELECT banktypeid, moneyid, mrate, dscrp2, otheramt, damt
- INTO :ll_banktypeid, :ll_moneyid, :ld_mrate, :ls_dscrp2, :ld_otheramt, :ld_damt
- FROM u_saletask
- WHERE scid = :ll_scid
- And taskid = :ll_taskid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('ERROR', '查询订单相关信息失败,' + sqlca.SQLErrText)
- RETURN
- END IF
-
- FOR j = 1 To UpperBound(arr_cusid)
- IF arr_cusid[j] = dw_1.Object.u_saletask_cusid[i] &
- And arr_outrep[j] = dw_1.Object.u_saletask_assign_emp[i] &
- And arr_rel_address[j] = dw_1.Object.cus_address[i] &
- And arr_rel_rep[j] = dw_1.Object.rel_rep[i] &
- And arr_rel_tele[j] = dw_1.Object.cus_tele[i] &
- And arr_banktypeid[j] = ll_banktypeid &
- And arr_moneyid[j] = ll_moneyid &
- And arr_mrate[j] = ld_mrate &
- And arr_scid[j] = ll_scid THEN
- EXIT
- END IF
- NEXT
-
- IF j > UpperBound(arr_cusid) THEN
- arr_cusid[j] = dw_1.Object.u_saletask_cusid[i]
- arr_outrep[j] = dw_1.Object.u_saletask_assign_emp[i]
- arr_rel_address[j] = dw_1.Object.cus_address[i]
- arr_rel_rep[j] = dw_1.Object.rel_rep[i]
- arr_rel_tele[j] = dw_1.Object.cus_tele[i]
- arr_banktypeid[j] = ll_banktypeid
- arr_moneyid[j] = ll_moneyid
- arr_mrate[j] = ld_mrate
- arr_scid[j] = ll_scid
-
- arr_part[j] = dw_1.Object.u_saletask_relcode[i]
- arr_dscrp[j] = dw_1.Object.dscrp[i]
- arr_dscrp2[j] = ls_dscrp2
- arr_otheramt[j] = ld_otheramt
- arr_damt[j] = ld_damt
- arr_freight[j] = dw_1.Object.freight[i]
- arr_freight_tele[j] = dw_1.Object.freight_tele[i]
- arr_cus_fax[j] = dw_1.Object.cus_fax[i]
-
- bills[j].mx[1].scid = ll_scid
- bills[j].mx[1].taskid = ll_taskid
- bills[j].mx[1].printid = ll_printid
- ELSE
- IF Pos(arr_part[j], dw_1.Object.u_saletask_relcode[i]) <= 0 THEN
- IF arr_part[j] = '' THEN
- arr_part[j] = dw_1.Object.u_saletask_relcode[i]
- ELSE
- arr_part[j] += ";" + dw_1.Object.u_saletask_relcode[i]
- END IF
- END IF
- IF Pos(arr_dscrp[j], dw_1.Object.dscrp[i]) <= 0 THEN
- IF arr_dscrp[j] = '' THEN
- arr_dscrp[j] = dw_1.Object.dscrp[i]
- ELSE
- arr_dscrp[j] += ";" + dw_1.Object.dscrp[i]
- END IF
- END IF
- IF Pos(arr_dscrp2[j], ls_dscrp2) <= 0 THEN
- IF arr_dscrp2[j] = '' THEN
- arr_dscrp2[j] = ls_dscrp2
- ELSE
- arr_dscrp2[j] += ";" + ls_dscrp2
- END IF
- END IF
-
- cnt = UpperBound(bills[j].mx)
- IF Not (bills[j].mx[cnt].scid = ll_scid And &
- bills[j].mx[cnt].taskid = ll_taskid) THEN
- arr_otheramt[j] += ld_otheramt
- arr_damt[j] += ld_damt
- END IF
-
- cnt = cnt + 1
- bills[j].mx[cnt].scid = ll_scid
- bills[j].mx[cnt].taskid = ll_taskid
- bills[j].mx[cnt].printid = ll_printid
-
- IF Pos(arr_freight[j], dw_1.Object.freight[i]) <= 0 THEN
- IF arr_freight[j] = '' THEN
- arr_freight[j] = dw_1.Object.freight[i]
- ELSE
- arr_freight[j] += ";" + dw_1.Object.freight[i]
- END IF
- END IF
- IF Pos(arr_freight_tele[j], dw_1.Object.freight_tele[i]) <= 0 THEN
- IF arr_freight_tele[j] = '' THEN
- arr_freight_tele[j] = dw_1.Object.freight_tele[i]
- ELSE
- arr_freight_tele[j] += ";" + dw_1.Object.freight_tele[i]
- END IF
- END IF
- IF Pos(arr_cus_fax[j], dw_1.Object.cus_fax[i]) <= 0 THEN
- IF arr_cus_fax[j] = '' THEN
- arr_cus_fax[j] = dw_1.Object.cus_fax[i]
- ELSE
- arr_cus_fax[j] += ";" + dw_1.Object.cus_fax[i]
- END IF
- END IF
- END IF
- END IF
- NEXT
- cnt = UpperBound(arr_cusid)
- String ls_msg = ''
- IF cnt <= 0 THEN
- MessageBox('', '请选择订单明细')
- RETURN
- END IF
- // TODO: 销售订单明细没有选择齐应该不允许
- uo_outware_sale uo_ware
- s_edit_index_tran s_ch
- Long storageid // 仓库
- Long ll_ok
- DateTime dt_server
- String arg_Msg
- Long mx_mtrlwareid
- Decimal mx_qty
- Decimal mx_addqty
- Decimal mx_fprice
- Decimal mx_rebate
- String mx_mxdscrp
- Long mx_printid
- Integer mx_ifrel
- Long mx_relid
- Long mx_relprintid
- Long mx_olmtrlid
- Long mx_packqty
- Int mx_outtype
- String mx_unit
- Decimal mx_rate
- String mx_mtrlcuscode
- String mx_formula
- String mx_mxdscrp2
- s_outwaremx s_mx
- Open(w_storage_index_ch)
- s_ch = Message.PowerObjectParm
- IF s_ch.c_long = 0 THEN RETURN
- storageid = s_ch.c_long
- SELECT top 1
- GETDATE()
- INTO :dt_server
- From u_user;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('ERROR', '查询服务器时间失败,' + sqlca.SQLErrText)
- RETURN
- END IF
- uo_ware = Create uo_outware_sale
- uo_ware.commit_transaction = sqlca
- ls_msg = ''
- Long arr_taskid[], arr_empty[], k
- s_outware_itemmx s_item[]
- FOR i = 1 To UpperBound(arr_cusid)
- ll_ok = 1
-
- IF uo_ware.newbegin(arr_scid[i],1,arg_Msg) = 0 THEN
- ll_ok = 0
- ls_msg += '失败,生成发货单失败,' + arg_Msg + '~r~n'
- GOTO _next
- END IF
-
- uo_ware.outdate = dt_server // 发生时间
- uo_ware.outrep = arr_outrep[i]
-
- IF Len(Trim(arr_part[i])) > 50 THEN
- arr_part[i] = Left(Trim(arr_part[i]),47) + '...'
- END IF
-
- uo_ware.part = arr_part[i]
- uo_ware.dscrp = arr_dscrp[i]
- uo_ware.dscrp2 = arr_dscrp2[i]
- uo_ware.cusid = arr_cusid[i]
- uo_ware.storageid = storageid
- uo_ware.relid = 0
- uo_ware.relint_1 = arr_banktypeid[i]
- uo_ware.relint_2 = arr_moneyid[i]
- uo_ware.relstr_1 = arr_freight[i]
- uo_ware.relstr_2 = arr_freight_tele[i]
- uo_ware.otheramt = arr_otheramt[i]
- uo_ware.deposit = arr_damt[i]
- uo_ware.mrate = arr_mrate[i]
- uo_ware.thflag = 0
- uo_ware.rel_address = arr_rel_address[i]
- uo_ware.rel_tele = arr_rel_tele[i]
- uo_ware.rel_fax = arr_cus_fax[i]
- uo_ware.rel_rep = arr_rel_rep[i]
-
- arr_taskid = arr_empty
-
- FOR j = 1 To UpperBound(bills[i].mx)
- SELECT TOP 1 u_mtrlware.mtrlwareid,
- u_SaleTaskMx.SaleQty,
- u_SaleTaskMx.fprice,
- u_SaleTaskMx.rebate,
- u_SaleTaskMx.mxdscrp,
- u_SaleTaskMx.MtrlID,
- u_mtrldef.packqty,
- u_SaleTaskMx.outtype,
- u_mtrldef.unit,
- u_SaleTaskMx.mtrlcuscode,
- u_SaleTaskMx.printid,
- u_saletaskmx.mxdscrp2
- INTO :mx_mtrlwareid,
- :mx_qty,
- :mx_fprice,
- :mx_rebate,
- :mx_mxdscrp,
- :mx_olmtrlid,
- :mx_packqty,
- :mx_outtype,
- :mx_unit,
- :mx_mtrlcuscode,
- :mx_relprintid,
- :mx_mxdscrp2
- FROM u_SaleTaskMx INNER JOIN
- u_mtrlware ON u_SaleTaskMx.MtrlID = u_mtrlware.mtrlid AND u_SaleTaskMx.status = u_mtrlware.Status AND
- u_SaleTaskMx.woodcode = u_mtrlware.woodcode AND u_SaleTaskMx.pcode = u_mtrlware.pcode INNER JOIN
- u_mtrldef ON u_SaleTaskMx.MtrlID = u_mtrldef.mtrlid
- WHERE (u_SaleTaskMx.scid = :bills[i].mx[j].scid)
- AND (u_SaleTaskMx.TaskID = :bills[i].mx[j].taskid)
- AND (u_SaleTaskMx.printid = :bills[i].mx[j].printid)
- And (u_mtrlware.storageid = :storageid);
- IF sqlca.SQLCode <> 0 THEN
- ll_ok = 0
- ls_msg += '失败,查询订单明细库存失败taskid:'+String(bills[i].mx[j].taskid)+',printid:'+String(bills[i].mx[j].printid)+',' + sqlca.SQLErrText + '~r~n'
- GOTO _next
- END IF
-
- mx_printid = j
- mx_addqty = 0
- mx_ifrel = 1
- mx_relid = bills[i].mx[j].taskid
- mx_rate = 1
- mx_formula = ''
-
-
- s_mx.mtrlwareid = mx_mtrlwareid
- s_mx.qty = mx_qty
- s_mx.addqty = mx_addqty
- s_mx.fprice = mx_fprice
- s_mx.rebate = mx_rebate
- s_mx.mxdscrp = mx_mxdscrp
- s_mx.printid = mx_printid
- s_mx.ifrel = mx_ifrel
- s_mx.relid = mx_relid
- s_mx.relprintid = mx_relprintid
- s_mx.relid2 = 0
- s_mx.olmtrlid = 0
- s_mx.packqty = mx_packqty
- s_mx.outtype = mx_outtype
- s_mx.unit = mx_unit
- s_mx.rate = mx_rate
- s_mx.mtrlcuscode = mx_mtrlcuscode
- s_mx.formula = mx_formula
- s_mx.mxdscrp2 = mx_mxdscrp2
-
-
- IF uo_ware.acceptmx(s_mx, arg_Msg) = 0 THEN
- ll_ok = 0
- ls_msg += '失败,添加发货明细失败,' + arg_Msg + '~r~n'
- GOTO _next
- END IF
-
- FOR k = 1 To UpperBound(arr_taskid)
- IF arr_taskid[k] = mx_relid THEN
- EXIT
- END IF
- NEXT
- arr_taskid[k] = mx_relid
- NEXT
- k = 1
- FOR j = 1 To UpperBound(arr_taskid)
- DECLARE cur1 CURSOR FOR
- SELECT itemid, amt, mxdscrp, printid, itype
- FROM u_saletask_itemmx
- WHERE scid = :arr_scid[i]
- AND saletaskid = :arr_taskid[j]
- Order By printid;
- OPEN cur1;
- FETCH cur1 Into :s_item[k].itemid, :s_item[k].amt, :s_item[k].mxdscrp, :s_item[k].saletaskprintid, :s_item[k].itype;
- DO WHILE sqlca.SQLCode = 0
- s_item[k].printid = k
- s_item[k].saletaskid = arr_taskid[j]
- k++
- FETCH cur1 Into :s_item[k].itemid, :s_item[k].amt, :s_item[k].mxdscrp, :s_item[k].saletaskprintid, :s_item[k].itype;
- LOOP
- CLOSE cur1;
- NEXT
- k = k - 1
-
- FOR j = 1 To k
- IF uo_ware.acceptmx_item(s_item[j], arg_Msg) = 0 THEN
- ll_ok = 0
- ls_msg += '失败,添加费用明细失败,' + arg_Msg + '~r~n'
- GOTO _next
- END IF
- NEXT
-
- IF uo_ware.Save(False,arg_Msg) = 0 THEN
- ll_ok = 0
- ls_msg += '失败,订单保存发货单失败,' + arg_Msg + '~r~n'
- GOTO _next
- END IF
-
- _next:
- IF ll_ok = 1 THEN
- COMMIT;
- ls_msg += '生成发货单成功,单号:"'+uo_ware.outwarecode+'"~r~n'
- ELSE
- ROLLBACK;
- END IF
- NEXT
- Destroy uo_ware
- IF ls_msg <> '' THEN
- OpenWithParm(w_message_err,ls_msg)
- // MessageBox('', ls_msg)
- ELSE
- MessageBox('提示', '生成成功')
- END IF
- end event
- event ue_outware_add();Long arr_scid[]
- Long arr_taskid[]
- Long arr_printid[]
- Long cnt = 0
- Long i
- IF Not (f_power_ind(11) Or f_power_ind(869)) THEN
- MessageBox(publ_operator,'没有使用权限!')
- RETURN
- END IF
- FOR i = 1 To dw_1.RowCount()
- IF dw_1.Object.ch[i] = 1 THEN
- cnt++
- arr_scid[cnt] = dw_1.Object.u_saletaskmx_scid[i]
- arr_taskid[cnt] = dw_1.Object.u_saletask_taskid[i]
- arr_printid[cnt] = dw_1.Object.u_saletaskmx_printid[i]
- END IF
- NEXT
- String ls_msg = ''
- IF cnt <= 0 THEN
- ls_msg = '请选择订单明细'
- GOTO ext
- END IF
- wf_outware_add(arr_scid, arr_taskid, arr_printid, ls_msg)
- ext:
- IF ls_msg <> '' THEN
- OpenWithParm(w_message_err,ls_msg)
- // MessageBox('', ls_msg)
- ELSE
- MessageBox('提示', '生成成功')
- END IF
- end event
- public subroutine wf_outware_add (long arg_scid[], long arg_taskid[], long arg_printid[], ref string arg_msg);
- arg_msg = ''
- uo_outware_sale uo_ware
- s_edit_index_tran arr_task[]
- s_edit_index_tran s_ch
- Long cnt = 0
- Long i, j, k
- String ls_msg
- Long ll_ok
- DateTime dt_server
- String ls_taskcode
- String outrep // 业务员
- String part // 相关号
- String dscrp // 备注
- Long cusid // 客户
- Long storageid // 仓库
- Long relid //
- Long relint_1 // 结算方式
- Long relint_2 // 币种
- String relstr_1 // 货运部
- String relstr_2 // 货运部电话
- Decimal otheramt // 优惠金额
- Decimal damt // 订金
- Decimal mrate // 汇率
- String rel_address // 客户地址
- String rel_tele // 客户电话
- String rel_fax // 客户传真
- String rel_rep // 联系人
- Long mx_mtrlwareid
- Decimal mx_qty
- Decimal mx_addqty
- Decimal mx_fprice
- Decimal mx_rebate
- String mx_mxdscrp
- Long mx_printid
- Integer mx_ifrel
- Long mx_relid
- Long mx_relprintid
- Long mx_olmtrlid
- Long mx_packqty
- Int mx_outtype
- String mx_unit
- Decimal mx_rate
- String mx_mtrlcuscode
- String mx_formula
- String mx_mxdscrp2
- s_outwaremx s_mx
- s_outware_itemmx s_item[]
- uo_ware = Create uo_outware_sale
- uo_ware.commit_transaction = sqlca
- FOR i = 1 To UpperBound(arg_scid)
- FOR j = 1 To cnt
- IF arr_task[j].b_long = arg_scid[i] And arr_task[j].c_long = arg_taskid[i] THEN
- EXIT
- END IF
- NEXT
-
- IF j > cnt THEN
- cnt++
- arr_task[cnt].b_long = arg_scid[i]
- arr_task[cnt].c_long = arg_taskid[i]
- arr_task[cnt].arr_long2[1] = arg_printid[i]
- ELSE
- k = UpperBound(arr_task[j].arr_long2) + 1
- arr_task[j].arr_long2[k] = arg_printid[i]
- END IF
- NEXT
- IF cnt <= 0 THEN
- arg_msg = '请选择订单明细'
- GOTO ext
- END IF
- SELECT top 1
- GETDATE()
- INTO :dt_server
- From u_user;
- IF sqlca.SQLCode <> 0 THEN
- arg_msg = '查询服务器时间失败,' + sqlca.SQLErrText
- GOTO ext
- END IF
- Open(w_storage_index_ch)
- s_ch = Message.PowerObjectParm
- IF s_ch.c_long = 0 THEN RETURN
- storageid = s_ch.c_long
- relid = 0
- FOR i = 1 To cnt
- ll_ok = 1
-
- SELECT taskcode,
- assign_emp,
- relcode,
- dscrp,
- cusid,
- banktypeid,
- moneyid,
- freight,
- freight_tele,
- otheramt,
- damt,
- mrate,
- cus_address,
- cus_tele,
- cus_fax,
- rel_rep
- INTO :ls_taskcode,
- :outrep,
- :part,
- :dscrp,
- :cusid,
- :relint_1,
- :relint_2,
- :relstr_1,
- :relstr_2,
- :otheramt,
- :damt,
- :mrate,
- :rel_address,
- :rel_tele,
- :rel_fax,
- :rel_rep
- FROM u_saletask
- WHERE scid = :arr_task[i].b_long
- And taskid = :arr_task[i].c_long;
- IF sqlca.SQLCode <> 0 THEN
- ll_ok = 0
- arg_msg += '订单[taskid='+String(arr_task[i].c_long)+']查询订单编号失败,' + sqlca.SQLErrText + '~r~n'
- GOTO _next
- END IF
-
- IF uo_ware.newbegin(arr_task[i].b_long,1,ls_msg) = 0 THEN
- ll_ok = 0
- arg_msg += '订单['+ls_taskcode+']新建发货单失败,' + ls_msg + '~r~n'
- GOTO _next
- END IF
-
- uo_ware.outdate = dt_server // 发生时间
- uo_ware.outrep = outrep
- uo_ware.part = part
- uo_ware.dscrp = dscrp
- uo_ware.cusid = cusid
- uo_ware.storageid = storageid
- uo_ware.relid = relid
- uo_ware.relint_1 = relint_1
- uo_ware.relint_2 = relint_2
- uo_ware.relstr_1 = relstr_1
- uo_ware.relstr_2 = relstr_2
- uo_ware.otheramt = otheramt
- uo_ware.deposit = damt
- uo_ware.mrate = mrate
- uo_ware.thflag = 0
- uo_ware.rel_address = rel_address
- uo_ware.rel_tele = rel_tele
- uo_ware.rel_fax = rel_fax
- uo_ware.rel_rep = rel_rep
-
- FOR j = 1 To UpperBound(arr_task[i].arr_long2)
- SELECT TOP 1 u_mtrlware.mtrlwareid,
- u_SaleTaskMx.SaleQty,
- u_SaleTaskMx.fprice,
- u_SaleTaskMx.rebate,
- u_SaleTaskMx.mxdscrp,
- u_SaleTaskMx.MtrlID,
- u_mtrldef.packqty,
- u_SaleTaskMx.outtype,
- u_mtrldef.unit,
- u_SaleTaskMx.mtrlcuscode,
- u_SaleTaskMx.printid,
- u_saletaskmx.mxdscrp2
- INTO :mx_mtrlwareid,
- :mx_qty,
- :mx_fprice,
- :mx_rebate,
- :mx_mxdscrp,
- :mx_olmtrlid,
- :mx_packqty,
- :mx_outtype,
- :mx_unit,
- :mx_mtrlcuscode,
- :mx_relprintid,
- :mx_mxdscrp2
- FROM u_SaleTaskMx INNER JOIN
- u_mtrlware ON u_SaleTaskMx.MtrlID = u_mtrlware.mtrlid AND u_SaleTaskMx.status = u_mtrlware.Status AND
- u_SaleTaskMx.woodcode = u_mtrlware.woodcode AND u_SaleTaskMx.pcode = u_mtrlware.pcode INNER JOIN
- u_mtrldef ON u_SaleTaskMx.MtrlID = u_mtrldef.mtrlid
- WHERE (u_SaleTaskMx.scid = :arr_task[i].b_long)
- AND (u_SaleTaskMx.TaskID = :arr_task[i].c_long)
- AND (u_SaleTaskMx.printid = :arr_task[i].arr_long2[j])
- And (u_mtrlware.storageid = :storageid);
- IF sqlca.SQLCode <> 0 THEN
- ll_ok = 0
- arg_msg += '订单['+ls_taskcode+']查询订单明细库存失败,' + ls_msg + '~r~n'
- GOTO _next
- END IF
-
- mx_printid = j
- mx_addqty = 0
- mx_ifrel = 1
- mx_relid = arr_task[i].c_long
- mx_rate = 1
- mx_formula = ''
-
-
- s_mx.mtrlwareid = mx_mtrlwareid
- s_mx.qty = mx_qty
- s_mx.addqty = mx_addqty
- s_mx.fprice = mx_fprice
- s_mx.rebate = mx_rebate
- s_mx.mxdscrp = mx_mxdscrp
- s_mx.printid = mx_printid
- s_mx.ifrel = mx_ifrel
- s_mx.relid = mx_relid
- s_mx.relprintid = mx_relprintid
- s_mx.relid2 = 0
- s_mx.olmtrlid = 0
- s_mx.packqty = mx_packqty
- s_mx.outtype = mx_outtype
- s_mx.unit = mx_unit
- s_mx.rate = mx_rate
- s_mx.mtrlcuscode = mx_mtrlcuscode
- s_mx.formula = mx_formula
- s_mx.mxdscrp2 = mx_mxdscrp2
-
-
- IF uo_ware.acceptmx(s_mx, ls_msg) = 0 THEN
- ll_ok = 0
- arg_msg += '订单['+ls_taskcode+']添加发货明细失败,' + ls_msg + '~r~n'
- GOTO _next
- END IF
-
- // IF uo_ware.acceptmx_sale(mx_mtrlwareid,&
- // mx_qty,&
- // mx_addqty,&
- // mx_fprice,&
- // mx_rebate,&
- // mx_mxdscrp,&
- // mx_printid,&
- // Ref ls_msg,&
- // mx_ifrel,&
- // mx_relid,&
- // mx_relprintid,&
- // 0,0,mx_packqty,&
- // mx_outtype,&
- // mx_unit,&
- // mx_rate,&
- // mx_mtrlcuscode,&
- // mx_formula,&
- // mx_mxdscrp2) = 0 THEN
- // ll_ok = 0
- // arg_msg += '订单['+ls_taskcode+']添加发货明细失败,' + ls_msg + '~r~n'
- // GOTO _next
- // END IF
- NEXT
-
- k = 1
-
- DECLARE cur1 CURSOR FOR
- SELECT itemid, amt, mxdscrp, printid, itype
- FROM u_saletask_itemmx
- WHERE scid = :arr_task[i].b_long
- AND saletaskid = :arr_task[i].c_long
- Order By printid;
- OPEN cur1;
- FETCH cur1 Into :s_item[k].itemid, :s_item[k].amt, :s_item[k].mxdscrp, :s_item[k].saletaskprintid, :s_item[k].itype;
- DO WHILE sqlca.SQLCode = 0
- s_item[k].printid = k
- s_item[k].saletaskid = arr_task[i].c_long
- k++
- FETCH cur1 Into :s_item[k].itemid, :s_item[k].amt, :s_item[k].mxdscrp, :s_item[k].saletaskprintid, :s_item[k].itype;
- LOOP
- CLOSE cur1;
-
- k = k - 1
-
- FOR j = 1 To k
- IF uo_ware.acceptmx_item(s_item[j], arg_msg) = 0 THEN
- ll_ok = 0
- ls_msg += '失败,添加费用明细失败,' + arg_msg + '~r~n'
- GOTO _next
- END IF
- NEXT
-
-
- IF uo_ware.Save(False,ls_msg) = 0 THEN
- ll_ok = 0
- arg_msg += '订单['+ls_taskcode+']保存发货单失败,' + ls_msg + '~r~n'
- GOTO _next
- END IF
-
- _next:
- IF ll_ok = 1 THEN
- COMMIT;
- arg_msg += '订单['+ls_taskcode+']生成发货单成功,单号:"'+uo_ware.outwarecode+'"~r~n'
- ELSE
- ROLLBACK;
- END IF
- NEXT
- ext:
- Destroy uo_ware
- RETURN
- end subroutine
- on w_rp_cust_saletask.create
- int iCurrent
- call super::create
- this.dw_3=create dw_3
- this.cbx_ifdate=create cbx_ifdate
- this.tv_1=create tv_1
- this.cb_bill=create cb_bill
- this.st_1=create st_1
- this.ddlb_1=create ddlb_1
- this.ddlb_retrstatus=create ddlb_retrstatus
- this.st_5=create st_5
- this.ddlb_scid=create ddlb_scid
- this.cb_outware_info=create cb_outware_info
- this.cb_add_sale=create cb_add_sale
- this.cbx_all=create cbx_all
- this.cb_4=create cb_4
- this.cbx_1=create cbx_1
- this.cbx_iffinish=create cbx_iffinish
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.dw_3
- this.Control[iCurrent+2]=this.cbx_ifdate
- this.Control[iCurrent+3]=this.tv_1
- this.Control[iCurrent+4]=this.cb_bill
- this.Control[iCurrent+5]=this.st_1
- this.Control[iCurrent+6]=this.ddlb_1
- this.Control[iCurrent+7]=this.ddlb_retrstatus
- this.Control[iCurrent+8]=this.st_5
- this.Control[iCurrent+9]=this.ddlb_scid
- this.Control[iCurrent+10]=this.cb_outware_info
- this.Control[iCurrent+11]=this.cb_add_sale
- this.Control[iCurrent+12]=this.cbx_all
- this.Control[iCurrent+13]=this.cb_4
- this.Control[iCurrent+14]=this.cbx_1
- this.Control[iCurrent+15]=this.cbx_iffinish
- end on
- on w_rp_cust_saletask.destroy
- call super::destroy
- destroy(this.dw_3)
- destroy(this.cbx_ifdate)
- destroy(this.tv_1)
- destroy(this.cb_bill)
- destroy(this.st_1)
- destroy(this.ddlb_1)
- destroy(this.ddlb_retrstatus)
- destroy(this.st_5)
- destroy(this.ddlb_scid)
- destroy(this.cb_outware_info)
- destroy(this.cb_add_sale)
- destroy(this.cbx_all)
- destroy(this.cb_4)
- destroy(this.cbx_1)
- destroy(this.cbx_iffinish)
- end on
- event open;call super::open;
- //f_title_change(dw_1)
- //
- //IF cbx_loginretr.Checked THEN
- // cb_1.TriggerEvent(Clicked!)
- //END IF
- ins_if_info = Long(f_ProfileString (sys_empid,'w_rp_cust_saletask', "ins_if_info",'0'))
- IF ins_if_info = 1 And f_power_ind(267) THEN
- This.PostEvent('ue_outware_info')
- END IF
- end event
- event resize;call super::resize;dw_3.Y = This.Height - (2300 - 1428 )
- tv_1.Height = This.Height - ( 2300 - 1128 )
- dw_1.Height = dw_3.Y + dw_3.Height - dw_1.Y
- end event
- event ue_before_open;call super::ue_before_open;if_ue_retr = true
- if_ue_filter = true
- if_ue_sort = true
- dw_3.SetTransObject (sqlca)
- end event
- event close;call super::close;
- IF IsValid(w_outware_sale_info) THEN
- ins_if_info = 1
- ELSE
- ins_if_info = 0
- END IF
- f_SetProfileString(sys_empid,"w_rp_cust_saletask","ins_if_info",String(ins_if_info))
- end event
- type cb_func from w_publ_easyq`cb_func within w_rp_cust_saletask
- integer x = 1728
- string text = "功能"
- end type
- type cb_exit from w_publ_easyq`cb_exit within w_rp_cust_saletask
- integer x = 2437
- end type
- type cb_2 from w_publ_easyq`cb_2 within w_rp_cust_saletask
- integer x = 2135
- boolean bringtotop = true
- end type
- type cb_psetup from w_publ_easyq`cb_psetup within w_rp_cust_saletask
- integer x = 1879
- boolean bringtotop = true
- end type
- type cb_1 from w_publ_easyq`cb_1 within w_rp_cust_saletask
- boolean bringtotop = true
- end type
- event cb_1::clicked;call super::clicked;Int li_ifdate
- DateTime first_date,end_date
- first_date = DateTime(Date(em_1.Text),Time(0))
- end_date = DateTime(Date(em_2.Text),Time('23:59:59'))
- IF cbx_ifdate.Checked THEN
- li_ifdate = 1
- ELSE
- li_ifdate = 0
- END IF
- dw_1.Retrieve(cur_scid_arr,sys_areaid,li_ifdate,cur_stattype,first_date,end_date,ls_areaname,cur_status,sys_user_outrep,sys_option_outrep,cur_ifstop,cur_iffinish)
- s_hide_col s_col,s_col_1
- s_col.col_1 = 'noamt'
- s_col.col_2 = 'cus_noallocqtyamt'
- s_col.col_3 = 'not_inqtyamt'
- s_col.col_4 = 'saleamt'
- s_col.col_5 = 'u_saletask_msttakeamt'
- s_col.col_6 = 'u_saletask_takeamt'
- s_col.col_7 = 'u_saletask_takedamt'
- s_col.col_8 = 'notakeamt'
- s_col.col_9 = 'stopamt'
- f_hide_col(122,dw_1,s_col)
- s_col_1.col_1 = 'p1'
- s_col_1.col_2 = 'p2'
- s_col_1.col_3 = 'enprice'
- s_col_1.col_4 = 'enamt'
- f_hide_col(122,dw_1,s_col_1)
- end event
- type st_3 from w_publ_easyq`st_3 within w_rp_cust_saletask
- integer x = 1408
- integer width = 215
- integer height = 48
- boolean enabled = true
- alignment alignment = left!
- end type
- type st_4 from w_publ_easyq`st_4 within w_rp_cust_saletask
- integer x = 2098
- integer height = 48
- boolean enabled = true
- end type
- type em_1 from w_publ_easyq`em_1 within w_rp_cust_saletask
- integer x = 1600
- integer y = 188
- integer width = 393
- boolean enabled = false
- end type
- type em_2 from w_publ_easyq`em_2 within w_rp_cust_saletask
- integer x = 2194
- integer y = 188
- integer width = 393
- boolean enabled = false
- end type
- type ddlb_yl from w_publ_easyq`ddlb_yl within w_rp_cust_saletask
- integer x = 3273
- end type
- type cbx_yl from w_publ_easyq`cbx_yl within w_rp_cust_saletask
- integer x = 3058
- integer y = 16
- end type
- type dw_1 from w_publ_easyq`dw_1 within w_rp_cust_saletask
- integer x = 1015
- integer y = 300
- integer width = 4297
- integer height = 1120
- string dataobject = "dw_rp_cust_saletask_1"
- boolean rbutton_filter_use = false
- boolean rbutton_setposition_use = false
- end type
- event dw_1::rowfocuschanged;call super::rowfocuschanged;Long ll_cusid,ll_mtrlid
- String ls_plancode,ls_status,ls_woodcode,ls_pcode
- Long ll_scid,ll_taskid,ll_printid
- IF currentrow <= 0 THEN
- dw_3.Reset()
- RETURN
- END IF
- IF dw_1.GetRow() > 0 THEN
- ll_cusid = dw_1.Object.u_saletask_cusid[dw_1.GetRow()]
- ll_mtrlid = dw_1.Object.u_saletaskmx_mtrlid[dw_1.GetRow()]
- ls_plancode = Trim(dw_1.Object.u_saletaskmx_mtrlcuscode[dw_1.GetRow()])
- ls_status = Trim(dw_1.Object.u_saletaskmx_status[dw_1.GetRow()])
- ls_woodcode = Trim(dw_1.Object.u_saletaskmx_woodcode[dw_1.GetRow()])
- ls_pcode = Trim(dw_1.Object.u_saletaskmx_pcode[dw_1.GetRow()])
- dw_3.Retrieve(ll_cusid,ll_mtrlid,ls_status,ls_woodcode,ls_pcode)
-
-
- ll_scid = dw_1.Object.u_saletaskmx_scid[dw_1.GetRow()]
- ll_taskid = dw_1.Object.u_saletask_taskid[dw_1.GetRow()]
- ll_printid = dw_1.Object.u_saletaskmx_printid[dw_1.GetRow()]
-
-
- ELSE
- dw_3.Reset()
- END IF
- Parent.TriggerEvent('ue_retrieve_info')
- end event
- event dw_1::doubleclicked;IF row > 0 THEN
- String ls_code
- Long ll_scid
-
- ll_scid = THIS.Object.u_saletaskmx_scid[row]
- ls_code = THIS.Object.u_saletaskmx_mtrlcuscode[row]
-
- f_open_win(ll_scid,ls_code)
- END IF
-
- end event
- event dw_1::constructor;call super::constructor;String ls_modify_str
- Int i
- Long Columns
- string ls_option_sale_mxdscrp = ''
- string ls_option_sale_mxdscrp2 = ''
- Columns = Long(dw_1.Describe("DataWindow.Column.Count"))
- FOR i = 1 TO Columns
-
- ls_modify_str = dw_1.Describe("#" + String(i) + ".name")
- ls_modify_str = Lower(ls_modify_str)
-
- IF Pos(ls_modify_str,'u_saletaskmx_mxdscrp') > 0 and ls_modify_str <> 'u_saletaskmx_mxdscrp2' AND ls_option_sale_mxdscrp <> '' THEN
- IF Len(ls_modify_str) = Len('u_saletaskmx_mxdscrp') OR Pos(ls_modify_str,'u_saletaskmx_mxdscrp') > 0 THEN
- dw_1.Modify(ls_modify_str+'_t'+ ".text='明细备注("+ls_option_sale_mxdscrp+")'")
- END IF
- END IF
-
- IF Pos(ls_modify_str,'u_saletaskmx_mxdscrp2') > 0 AND ls_option_sale_mxdscrp2 <> '' THEN
- IF Len(ls_modify_str) = Len('u_saletaskmx_mxdscrp2') OR Pos(ls_modify_str,'u_saletaskmx_mxdscrp2') > 0 THEN
- dw_1.Modify(ls_modify_str+'_t'+ ".text='明细备注2("+ls_option_sale_mxdscrp2+")'")
- END IF
- END IF
-
- NEXT
- end event
- event dw_1::sqlpreview;call super::sqlpreview;string ls
- ls = sqlsyntax
- end event
- event dw_1::clicked;call super::clicked;IF row > 0 THEN
- THIS.SelectRow(0,FALSE)
- THIS.SelectRow(row,TRUE)
- this.setrow(row)
- END IF
- end event
- type sle_mtrl from w_publ_easyq`sle_mtrl within w_rp_cust_saletask
- end type
- type sle_cust from w_publ_easyq`sle_cust within w_rp_cust_saletask
- end type
- type st_mtrl from w_publ_easyq`st_mtrl within w_rp_cust_saletask
- end type
- type st_cust from w_publ_easyq`st_cust within w_rp_cust_saletask
- end type
- type cbx_loginretr from w_publ_easyq`cbx_loginretr within w_rp_cust_saletask
- boolean visible = true
- integer x = 3054
- end type
- type pb_em1 from w_publ_easyq`pb_em1 within w_rp_cust_saletask
- integer x = 1998
- integer y = 188
- boolean enabled = false
- end type
- type pb_em2 from w_publ_easyq`pb_em2 within w_rp_cust_saletask
- integer x = 2592
- integer y = 188
- boolean enabled = false
- end type
- type pb_2 from w_publ_easyq`pb_2 within w_rp_cust_saletask
- integer x = 2702
- integer y = 188
- boolean enabled = false
- end type
- type cb_help from w_publ_easyq`cb_help within w_rp_cust_saletask
- integer x = 2286
- end type
- type cb_copyself from w_publ_easyq`cb_copyself within w_rp_cust_saletask
- integer x = 151
- end type
- type gb_1 from w_publ_easyq`gb_1 within w_rp_cust_saletask
- integer x = 1600
- integer y = 352
- integer width = 997
- integer height = 256
- end type
- type ln_bar from w_publ_easyq`ln_bar within w_rp_cust_saletask
- end type
- type ln_bar2 from w_publ_easyq`ln_bar2 within w_rp_cust_saletask
- end type
- type r_bar from w_publ_easyq`r_bar within w_rp_cust_saletask
- integer x = 3305
- end type
- type ln_1 from w_publ_easyq`ln_1 within w_rp_cust_saletask
- end type
- type ln_2 from w_publ_easyq`ln_2 within w_rp_cust_saletask
- end type
- type ln_3 from w_publ_easyq`ln_3 within w_rp_cust_saletask
- boolean visible = false
- end type
- type ln_4 from w_publ_easyq`ln_4 within w_rp_cust_saletask
- boolean visible = false
- end type
- type dw_3 from u_dw_rbtnfilter within w_rp_cust_saletask
- integer y = 1428
- integer width = 1015
- integer height = 732
- integer taborder = 20
- boolean bringtotop = true
- string dataobject = "dw_rp_cust_saletask_3"
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean hsplitscroll = true
- end type
- type cbx_ifdate from checkbox within w_rp_cust_saletask
- integer x = 608
- integer y = 204
- integer width = 375
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "按日期查询"
- end type
- event clicked;
- em_1.Enabled = THIS.Checked
- em_2.Enabled = THIS.Checked
- pb_em1.Enabled = THIS.Checked
- pb_em2.Enabled = THIS.Checked
- pb_2.Enabled = THIS.Checked
- ddlb_1.Enabled = THIS.Checked
- cb_1.TriggerEvent(Clicked!)
- end event
- type tv_1 from uo_tv_cusarea within w_rp_cust_saletask
- integer y = 300
- integer width = 1015
- integer height = 1132
- integer taborder = 20
- boolean bringtotop = true
- integer textsize = -9
- fontcharset fontcharset = gb2312charset!
- fontfamily fontfamily = anyfont!
- string facename = "宋体"
- long textcolor = 0
- long backcolor = 16777215
- boolean hideselection = false
- string picturename[] = {"Application!","LibraryList5!"}
- long picturemaskcolor = 553648127
- boolean if_power = true
- end type
- event selectionchanged;call super::selectionchanged;
- ls_areaname = THIS.uo_cur_info.areaname
- ls_areaname = ls_areaname + '%'
- cb_1.TriggerEvent(Clicked!)
- end event
- type cb_bill from uo_imflatbutton within w_rp_cust_saletask
- integer x = 407
- integer width = 329
- integer height = 164
- integer taborder = 30
- boolean bringtotop = true
- string text = "客户调货单"
- string normalpicname = "OPEN.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;IF NOT f_power_ind(297) THEN
- MessageBox(publ_operator,'没有使用权限!')
- RETURN
- END IF
- Long ll_row
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN
- MessageBox('系统提示','请先选择明细内容')
- RETURN
- END IF
- String ls_scname
- s_edit_index_tran s_tran
- s_tran.if_retrieve_all = local_retrieve_all //是否一次RETRIEVE所有行
- s_tran.work_mode = 0 //0-单纯编辑模式, 1-选择模式
- s_tran.arg_pkid = 0 //目标定位PKID (备用)
- s_tran.arg_string_code = '' //查询列部分内容,用于初步筛选
- s_tran.b_long = 1
- s_tran.c_long = dw_1.Object.u_saletaskmx_scid[ll_row]
- SELECT scname
- INTO :ls_scname
- FROM u_scdef
- Where scid = :s_tran.c_long;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('系统提示','查询单据所属分部失败')
- RETURN
- END IF
- s_tran.b_string = ls_scname
- s_tran.d_long = dw_1.object.u_saletaskmx_mtrlid[ll_row]
- s_tran.c_string = dw_1.object.u_saletaskmx_mtrlcuscode[ll_row]
- s_tran.d_string = dw_1.object.u_saletaskmx_status[ll_row]
- s_tran.e_string = dw_1.object.u_saletaskmx_woodcode[ll_row]
- s_tran.f_string = dw_1.object.u_saletaskmx_pcode[ll_row]
- s_tran.e_long = dw_1.object.u_saletask_cusid[ll_row]
- //s_tran.c_decimal = dw_1.object.not_inqty[ll_row]
- OpenWithParm(w_mtrlware_trans,s_tran)
- end event
- type st_1 from statictext within w_rp_cust_saletask
- integer x = 9
- integer y = 204
- integer width = 165
- integer height = 48
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "分部:"
- alignment alignment = right!
- boolean focusrectangle = false
- end type
- type ddlb_1 from dropdownlistbox within w_rp_cust_saletask
- integer x = 987
- integer y = 192
- integer width = 407
- integer height = 300
- integer taborder = 120
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- boolean enabled = false
- string text = "按订货日期"
- boolean sorted = false
- string item[] = {"按订货日期","按交货日期","按确认日期"}
- borderstyle borderstyle = stylelowered!
- end type
- event selectionchanged;if this.text = '按订货日期' then
- cur_stattype = 0
- elseif this.text = '按交货日期' then
- cur_stattype = 1
- elseif this.text = '按确认日期' then
- cur_stattype = 2
- end if
- cb_1.TriggerEvent(Clicked!)
- end event
- type ddlb_retrstatus from dropdownlistbox within w_rp_cust_saletask
- integer x = 2976
- integer y = 196
- integer width = 425
- integer height = 860
- integer taborder = 130
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- string text = "在进行"
- boolean sorted = false
- boolean vscrollbar = true
- string item[] = {"待审核","待生产审核","在进行","已暂停","已终止","已完成","[所有]"}
- borderstyle borderstyle = stylelowered!
- end type
- event constructor;cur_status = Long(f_ProfileString(sys_empid, "w_rp_sale_saletask", "status", "-1"))
- CHOOSE CASE cur_status
- CASE 0
- ddlb_retrstatus.Text = "待审核"
- CASE 4
- ddlb_retrstatus.Text = "待生产审核"
- CASE 1
- ddlb_retrstatus.Text = "在进行"
- CASE 2
- ddlb_retrstatus.Text = "已暂停"
- CASE 3
- ddlb_retrstatus.Text = "已终止"
- CASE 5
- ddlb_retrstatus.Text = "已完成"
- CASE -1
- ddlb_retrstatus.Text = "[所有]"
- END CHOOSE
- end event
- event selectionchanged;CHOOSE CASE Index
- CASE 1 //待销售审批
- cur_status = 0
- CASE 2 //待待生产审批
- cur_status = 4
- CASE 3 //在进行
- cur_status = 1
- CASE 4 //'已暂停'
- cur_status = 2
- CASE 5 //'已终止'
- cur_status = 3
- CASE 6 //'已完成'
- cur_status = 5
- CASE ELSE
- cur_status = -1
- END CHOOSE
- f_SetProfileString(sys_empid,'w_rp_sale_saletask', "status", String(cur_status))
- cb_1.TriggerEvent(Clicked!)
- end event
- type st_5 from statictext within w_rp_cust_saletask
- integer x = 2825
- integer y = 220
- integer width = 137
- integer height = 48
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "状态:"
- alignment alignment = right!
- boolean focusrectangle = false
- end type
- type ddlb_scid from uo_ddlb_scid within w_rp_cust_saletask
- integer x = 178
- integer y = 188
- integer width = 421
- integer height = 620
- integer taborder = 90
- boolean bringtotop = true
- end type
- event constructor;call super::constructor;cur_scid_arr = THIS.uo_scid_arr
- cur_scid = this.uo_scid
- end event
- event selectionchanged;call super::selectionchanged;
- cur_scid_arr = THIS.uo_scid_arr
- cur_scid = this.uo_scid
- cb_1.triggerevent(clicked!)
- end event
- type cb_outware_info from uo_imflatbutton within w_rp_cust_saletask
- integer x = 1431
- integer width = 297
- integer height = 164
- integer taborder = 40
- boolean bringtotop = true
- string text = "其他功能"
- string normalpicname = "update2.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;//parent.triggerevent('ue_outware_info')
- m_Dfc_Control_PopupMenu dmPopupMenu
- String menustr
- menustr = "Text=显示相关发货信息~tEvent=ue_outware_info"
- menustr = menustr + "|" + "Text=-"
- menustr = menustr + "|" + "Text=显示相关工价信息~tEvent=ue_view_workpricetable"
- dmPopupMenu = Create m_Dfc_Control_PopupMenu
- dmPopupMenu.mf_BuildMenu(This, menustr)
- dmPopupMenu.mf_PopMenu()
- Destroy dmPopupMenu
- end event
- type cb_add_sale from uo_imflatbutton within w_rp_cust_saletask
- integer x = 736
- integer width = 384
- integer height = 164
- integer taborder = 40
- boolean bringtotop = true
- string text = "建销售发货单"
- string normalpicname = "OPEN.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;
- IF Not (f_power_ind(11) Or f_power_ind(869)) THEN
- MessageBox(publ_operator,'没有使用权限!')
- RETURN
- END IF
- IF cur_scid < 0 THEN
- MessageBox('系统提示','请先选择分部')
- RETURN
- END IF
- Long ll_row,ll_i
- Long ll_found,ll_cusid,ll_storageid
- String ls_scname
- Long cnt = 0
- String ls_cus_address,ls_rel_rep
- s_edit_index_tran s_tran,s_ch
- ll_found = dw_1.Find("ch = 1",1, dw_1.RowCount())
- IF ll_found <= 0 THEN
- MessageBox('系统提示','请先选择要建立发货单的订单明细')
- RETURN
- END IF
- FOR ll_i = 1 To dw_1.RowCount()
- IF dw_1.Object.ch[ll_i] = 1 THEN
-
- IF dw_1.Object.u_saletask_status[ll_i] <> 1 THEN
- MessageBox('系统提示','选中的订单中含有不是在进行状态的,请检查')
- RETURN
- END IF
-
- IF cnt = 0 THEN
- ll_cusid = dw_1.Object.u_saletask_cusid[ll_i]
- ls_cus_address = dw_1.Object.cus_address[ll_i]
- ls_rel_rep = dw_1.Object.rel_rep[ll_i]
- ELSE
- IF ll_cusid <> dw_1.Object.u_saletask_cusid[ll_i] And ll_cusid <> 0 THEN
- MessageBox('系统提示','请选择相同客户的订单明细')
- RETURN
- END IF
- END IF
-
- cnt++
- s_tran.arr_long[cnt] = dw_1.Object.u_saletask_taskid[ll_i]
- s_tran.arr_long2[cnt] = dw_1.Object.u_saletaskmx_printid[ll_i]
- s_tran.arr_long3[cnt] = dw_1.Object.u_SaleTaskMx_mtrlid[ll_i]
- s_tran.arr_string[cnt] = dw_1.Object.u_saletask_taskcode[ll_i]
- END IF
- NEXT
- FOR ll_i = 1 To dw_1.RowCount()
- IF dw_1.Object.ch[ll_i] = 1 THEN
- IF ls_cus_address <> dw_1.Object.cus_address[ll_i] THEN
- IF MessageBox('询问','所选订单出现不同的客户地址,是否继续?',question!,yesno!) = 2 THEN
- RETURN
- ELSE
- EXIT
- END IF
- END IF
-
- IF ls_rel_rep <> dw_1.Object.rel_rep[ll_i] THEN
- IF MessageBox('询问','所选订单出现不同的联系人,是否继续?',question!,yesno!) = 2 THEN
- RETURN
- ELSE
- EXIT
- END IF
- END IF
- END IF
- NEXT
- Open(w_storage_index_ch)
- s_ch = Message.PowerObjectParm
- IF s_ch.c_long = 0 THEN RETURN
- ll_storageid = s_ch.c_long
- s_tran.if_retrieve_all = local_retrieve_all //是否一次RETRIEVE所有行
- s_tran.work_mode = 0 //0-单纯编辑模式, 1-选择模式
- s_tran.arg_pkid = 0 //目标定位PKID (备用)
- s_tran.arg_string_code = '' //查询列部分内容,用于初步筛选
- s_tran.e_long = 1
- s_tran.c_long = cur_scid
- SELECT scname
- INTO :ls_scname
- FROM u_scdef
- Where scid = :s_tran.c_long;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('系统提示','查询单据所属分部失败')
- RETURN
- END IF
- s_tran.d_string = ls_scname
- s_tran.d_long = 2
- s_tran.g_long = ll_cusid
- s_tran.f_long = ll_storageid
- //OpenWithParm(w_outware_sale,s_tran)
- IF Not IsValid(w_outware_sale) THEN
- OpenWithParm(w_outware_sale,s_tran)
-
- w_outware_sale.cb_add.TriggerEvent(Clicked!)
- String errmsg = ''
-
- if w_outware_sale.wf_autoaddmx_rp(s_tran,errmsg) = 0 then
- MessageBox('系统提示','新建失败,'+errmsg)
- end if
-
- w_outware_sale.dw_uc.SetRedraw(True)
- END IF
- end event
- type cbx_all from checkbox within w_rp_cust_saletask
- integer x = 5019
- integer y = 204
- integer width = 219
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "全选"
- end type
- event clicked;Long ll_i
- dw_1.SetRedraw(False)
- IF This.Checked THEN
- FOR ll_i = 1 To dw_1.RowCount()
- dw_1.Object.ch[ll_i] = 1
- NEXT
-
- ELSE
- FOR ll_i = 1 To dw_1.RowCount()
- dw_1.Object.ch[ll_i] = 0
- NEXT
- END IF
- dw_1.SetRedraw(True)
- end event
- type cb_4 from uo_imflatbutton within w_rp_cust_saletask
- integer x = 1120
- integer width = 311
- integer height = 164
- integer taborder = 50
- boolean bringtotop = true
- string text = "批建发货单"
- string normalpicname = "OPEN.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
- String menustr
- menustr = "Text=按订单批生成~tEvent=ue_outware_add"
- menustr = menustr + "|" + "Text=按收货人汇总~tEvent=ue_outware_add_hz"
- dmPopupMenu = Create m_Dfc_Control_PopupMenu
- dmPopupMenu.mf_BuildMenu(This, menustr)
- dmPopupMenu.mf_PopMenu()
- Destroy dmPopupMenu
- end event
- type cbx_1 from checkbox within w_rp_cust_saletask
- integer x = 3429
- integer y = 204
- integer width = 850
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "不显示终止订单或明细整行终止"
- end type
- event clicked;IF This.checked THEN
- cur_ifstop = 1
- ELSE
- cur_ifstop = 0
- END IF
- f_SetProfileString (sys_empid,Parent.Classname(), "cur_ifstop",String(cur_ifstop))
- cb_1.TriggerEvent(Clicked!)
- end event
- event constructor;cur_ifstop = Long(f_ProfileString (sys_empid, Parent.Classname(), "cur_ifstop", "0"))
- //This.Checked = cur_ifsc = 1
- //
- if cur_ifstop = 0 then
- This.Checked = false
- else
- This.Checked = true
- end if
- end event
- type cbx_iffinish from checkbox within w_rp_cust_saletask
- integer x = 4315
- integer y = 204
- integer width = 631
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- string text = "不显示已完成发货明细"
- end type
- event clicked;IF This.checked THEN
- cur_iffinish = 1
- ELSE
- cur_iffinish = 0
- END IF
- f_SetProfileString (sys_empid,Parent.Classname(), "cur_iffinish",String(cur_iffinish))
- cb_1.TriggerEvent(Clicked!)
- end event
- event constructor;cur_iffinish = Long(f_ProfileString (sys_empid,Parent.Classname(), "cur_iffinish", "0"))
- //This.Checked = cur_ifsc = 1
- //
- if cur_iffinish = 0 then
- This.Checked = false
- else
- This.Checked = true
- end if
- end event
|