12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502 |
- $PBExportHeader$w_warebalc_view_bk.srw
- forward
- global type w_warebalc_view_bk from w_publ_pageretr_easyq
- end type
- type cb_1 from uo_imflatbutton within w_warebalc_view_bk
- end type
- type ddlb_storageid from uo_ddlb_storageid within w_warebalc_view_bk
- end type
- type em_month from editmask within w_warebalc_view_bk
- end type
- type st_2 from statictext within w_warebalc_view_bk
- end type
- type ddlb_1 from dropdownlistbox within w_warebalc_view_bk
- end type
- type cb_cmp from uo_imflatbutton within w_warebalc_view_bk
- end type
- type tv_1 from uo_tv_mtrltype within w_warebalc_view_bk
- end type
- type ddlb_mtrlorigin from uo_ddlb_mtrlorigin within w_warebalc_view_bk
- end type
- type st_lastbalcdate from statictext within w_warebalc_view_bk
- end type
- end forward
- global type w_warebalc_view_bk from w_publ_pageretr_easyq
- string title = "仓库结存表"
- event ue_cmp_mtrlware ( )
- event ue_cmp_amt2 ( )
- event ue_cmp ( )
- event ue_update_inware_mtrlwareid ( )
- cb_1 cb_1
- ddlb_storageid ddlb_storageid
- em_month em_month
- st_2 st_2
- ddlb_1 ddlb_1
- cb_cmp cb_cmp
- tv_1 tv_1
- ddlb_mtrlorigin ddlb_mtrlorigin
- st_lastbalcdate st_lastbalcdate
- end type
- global w_warebalc_view_bk w_warebalc_view_bk
- type variables
- Long cur_storageid = -1
- long cur_storageid_arr[]
- DateTime balcdate //结存日期
- Int cur_mtrlorigin = -1 //当前显示物料来源
- String ls_handtype = ''
- string ls_mtrltype = ''
- end variables
- forward prototypes
- public subroutine wf_hide_col ()
- end prototypes
- event ue_cmp_mtrlware();//按库存数重算本期期初
- IF Not f_power_ind(1507) THEN
- MessageBox(publ_operator,'你没有使用权限!')
- RETURN
- END IF
- //IF Not dw_pageretr.DataObject = 'dw_warebalc_view' THEN
- // MessageBox('系统提示','必须在客户产品统计表中才能执行本功能')
- // RETURN
- //END IF
- IF MessageBox (publ_operator,"是否确定要执行按库存数重算结存功能?",Question!,YesNo! ) = 2 THEN RETURN
- IF cur_storageid = -1 THEN
- MessageBox('系统提示','请先选择仓库')
- RETURN
- END IF
- Long rslt = 1
- String arg_msg
- datastore ds_warebalc
- ds_warebalc = Create datastore
- ds_warebalc.DataObject = 'dw_warebalc_view'
- ds_warebalc.SetTransObject(sqlca)
- ds_warebalc.Retrieve(cur_storageid_arr,'','',-1,publ_operator)
- // //清空筛选内容
- //ds_warebalc.SetFilter('')
- //ds_warebalc.Filter()
- //ds_warebalc.Retrieve(cur_storageid_arr,'','',-1,publ_operator)
- Long ll_i
- Decimal ld_newcost // 最新成本价
- Decimal ld_bgqty,ld_bgamt,ld_incqty,ld_incamt,ld_desqty,ld_desamt
- Decimal ld_balcqty,ld_balcamt
- Long ll_mtrlid
- String ls_status,ls_pcode,ls_woodcode
- String ls_mtrlcode
- Decimal ld_noallocqty,ld_wareamt,ld_noallocaddqty
- Decimal ld_noallocqty_sum,ld_wareamt_sum,ld_noallocaddqty_sum,ld_incaddqty,ld_desaddqty
- Long ll_sptid_cusid,ll_sptid
- Open(w_sys_wait_jdt) //初始化进度条
- w_sys_wait_jdt.Show()
- //结存查库存
- w_sys_wait_jdt.wf_accepttol(ds_warebalc.RowCount())
- FOR ll_i = 1 To ds_warebalc.RowCount()
-
- ll_mtrlid = ds_warebalc.Object.u_mtrldef_mtrlid[ll_i]
- ls_mtrlcode = ds_warebalc.Object.u_mtrldef_mtrlcode[ll_i]
- ls_status = ds_warebalc.Object.u_warebalc_status[ll_i]
- ls_woodcode = ds_warebalc.Object.u_warebalc_woodcode[ll_i]
- ls_pcode = ds_warebalc.Object.u_warebalc_pcode[ll_i]
- ll_sptid_cusid = ds_warebalc.Object.u_warebalc_sptid_cusid[ll_i]
- w_sys_wait_jdt.st_msg.Text = " 正在结存重算:"+ls_mtrlcode+','+sys_option_change_status+':'+ls_status+','+sys_option_change_woodcode+':'+ls_woodcode+','+sys_option_change_pcode+':'+ls_pcode+"..." //进度信息
- w_sys_wait_jdt.wf_inc(ll_i)
-
- SELECT isnull(sum(noallocqty),0),
- isnull(sum(wareamt),0),
- isnull(sum(noallocaddqty),0)
- INTO :ld_noallocqty,
- :ld_wareamt,
- :ld_noallocaddqty
- FROM u_mtrlware
- WHERE mtrlid = :ll_mtrlid
- AND storageid = :cur_storageid
- AND status = :ls_status
- AND woodcode = :ls_woodcode
- AND pcode = :ls_pcode
- And sptid = :ll_sptid_cusid;
- IF sqlca.SQLCode <> 0 THEN
- IF sqlca.SQLCode = 100 THEN
- ld_noallocqty = 0
- ld_wareamt = 0
- ELSE
- rslt = 0
- arg_msg = '查询库存资料失败,物料:'+ls_mtrlcode+','+sys_option_change_status+':'+ls_status+','+sys_option_change_woodcode+':'+ls_woodcode+','+sys_option_change_pcode+':'+ls_pcode
- GOTO ext
- END IF
- END IF
-
- UPDATE u_warebalc
- SET balcqty = :ld_noallocqty,
- balcaddqty = :ld_noallocaddqty,
- balcamt = :ld_wareamt,
- bgqty = :ld_noallocqty + desqty - incqty,
- bgamt = :ld_wareamt + desamt - incamt,
- bgaddqty = :ld_noallocaddqty + desaddqty - incaddqty
- WHERE mtrlid = :ll_mtrlid
- AND balcdateint = 0
- AND Storageid = :cur_storageid
- AND status = :ls_status
- AND woodcode = :ls_woodcode
- AND pcode = :ls_pcode
- And sptid_cusid = :ll_sptid_cusid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '更新结存失败,物料:'+ls_mtrlcode+','+sys_option_change_status+':'+ls_status+','+sys_option_change_woodcode+':'+ls_woodcode+','+sys_option_change_pcode+':'+ls_pcode
- GOTO ext
-
- END IF
-
- ld_noallocqty_sum += ld_noallocqty
- ld_wareamt_sum += ld_wareamt
- ld_noallocaddqty_sum += ld_noallocaddqty
- NEXT
- //库存计结存
- Long cnt,ll_scid
- datastore ds_mtrlware
- ds_mtrlware = Create datastore
- ds_mtrlware.DataObject = 'ds_warebalc_view_cmpl_mtrlware_to_balc'
- ds_mtrlware.SetTransObject(sqlca)
- ds_mtrlware.Retrieve(cur_storageid)
- ds_mtrlware.AcceptText()
- IF ld_noallocqty_sum <> ds_mtrlware.Object.sumqty[1] Or &
- ld_wareamt_sum <> ds_mtrlware.Object.sumamt[1] Or &
- ld_noallocaddqty_sum <> ds_mtrlware.Object.sumaddqty[1] THEN
-
- SELECT scid INTO :ll_scid
- FROM u_storage
- Where storageid = :cur_storageid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询仓库所属分部失败,操作取消'
- GOTO ext
- END IF
-
- w_sys_wait_jdt.wf_accepttol(ds_mtrlware.RowCount())
-
- FOR ll_i = 1 To ds_mtrlware.RowCount()
- ll_mtrlid = 0
- ls_mtrlcode = ''
- ls_status = ''
- ls_woodcode = ''
- ls_pcode = ''
- ld_noallocqty = 0
- ld_wareamt = 0
- ll_sptid = 0
- cnt = 0
-
- ls_mtrlcode = ds_mtrlware.Object.u_mtrldef_mtrlcode[ll_i]
- ll_mtrlid = ds_mtrlware.Object.mtrlid[ll_i]
-
- ls_status = ds_mtrlware.Object.status[ll_i]
- ls_woodcode = ds_mtrlware.Object.woodcode[ll_i]
- ls_pcode = ds_mtrlware.Object.pcode[ll_i]
- ld_noallocqty = ds_mtrlware.Object.qty[ll_i]
- ld_noallocaddqty = ds_mtrlware.Object.addqty[ll_i]
- ld_wareamt = ds_mtrlware.Object.amt[ll_i]
- ll_sptid = ds_mtrlware.Object.u_mtrlware_sptid[ll_i]
-
- w_sys_wait_jdt.st_msg.Text = " 正在库存重算:"+ls_mtrlcode+','+sys_option_change_status+':'+ls_status+','+sys_option_change_woodcode+':'+ls_woodcode+','+sys_option_change_pcode+':'+ls_pcode+"..." //进度信息
- w_sys_wait_jdt.wf_inc(ll_i)
-
-
- SELECT count(*) INTO :cnt
- FROM u_warebalc
- WHERE mtrlid = :ll_mtrlid
- AND balcdateint = 0
- AND Storageid = :cur_storageid
- AND status = :ls_status
- AND woodcode = :ls_woodcode
- AND pcode = :ls_pcode
- And sptid_cusid = :ll_sptid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询结存失败,物料:'+ls_mtrlcode+','+sys_option_change_status+':'+ls_status+','+sys_option_change_woodcode+':'+ls_woodcode+','+sys_option_change_pcode+':'+ls_pcode
- GOTO ext
- END IF
-
- IF cnt > 0 THEN CONTINUE
-
- SELECT CASE when sum(Round(u_inwaremx.qty * u_inwaremx.cost,2)) Is Null THEN 0 ELSE sum(Round(u_inwaremx.qty * u_inwaremx.cost,2)) END ,
- CASE when sum(u_inwaremx.qty) Is Null THEN 0 ELSE sum(u_inwaremx.qty) END,
- CASE when sum(u_inwaremx.addqty) Is Null THEN 0 ELSE sum(u_inwaremx.addqty) END
- Into :ld_incamt,:ld_incqty,:ld_incaddqty
- From u_inwaremx,u_inware
- Where u_inwaremx.scid = u_inware.scid
- And u_inwaremx.inwareid = u_inware.inwareid
- And u_inware.storageid = :cur_storageid
- And u_inware.balcdateint = 0
- And u_inwaremx.mtrlid = :ll_mtrlid
- And u_inwaremx.status = :ls_status
- And u_inwaremx.woodcode = :ls_woodcode
- And u_inwaremx.pcode = :ls_pcode
- And u_inwaremx.sptid_cusid = :ll_sptid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询进仓失败,物料:'+ls_mtrlcode+','+sys_option_change_status+':'+ls_status+','+sys_option_change_woodcode+':'+ls_woodcode+','+sys_option_change_pcode+':'+ls_pcode
- GOTO ext
- END IF
-
- SELECT CASE when sum(u_outwaremx.costamt) Is Null THEN 0 ELSE sum(u_outwaremx.costamt) END ,
- CASE when sum(u_outwaremx.qty) Is Null THEN 0 ELSE sum(u_outwaremx.qty) END ,
- CASE when sum(u_outwaremx.addqty) Is Null THEN 0 ELSE sum(u_outwaremx.addqty) END
- Into :ld_desamt,:ld_desqty,:ld_desaddqty
- From u_outwaremx,u_outware
- Where u_outwaremx.scid = u_outware.scid
- And u_outwaremx.outwareid = u_outware.outwareid
- And u_outware.storageid = :cur_storageid
- And u_outware.balcdateint = 0
- And u_outwaremx.mtrlid = :ll_mtrlid
- And u_outwaremx.status = :ls_status
- And u_outwaremx.woodcode = :ls_woodcode
- And u_outwaremx.pcode = :ls_pcode
- And u_outwaremx.sptid = :ll_sptid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询出仓失败,物料:'+ls_mtrlcode+','+sys_option_change_status+':'+ls_status+','+sys_option_change_woodcode+':'+ls_woodcode+','+sys_option_change_pcode+':'+ls_pcode
- GOTO ext
- END IF
-
- INSERT INTO u_warebalc
- (scid,
- balcdateint,
- storageid,
- mtrlid,
- status,
- woodcode,
- pcode,
- bgqty,
- bgamt,
- incqty,
- incamt,
- desqty,
- desamt,
- balcqty,
- balcamt,
- sptid_cusid,
- bgaddqty,
- balcaddqty,
- incaddqty,
- desaddqty
- )
- VALUES
- (:ll_scid,0,
- :cur_storageid,
- :ll_mtrlid,
- :ls_status,
- :ls_woodcode,
- :ls_pcode,
- :ld_noallocqty + :ld_desqty - :ld_incqty,
- :ld_wareamt + :ld_desamt - :ld_incamt,
- :ld_incqty,
- :ld_incamt,
- :ld_desqty,
- :ld_desamt,
- :ld_noallocqty,
- :ld_wareamt,
- :ll_sptid,
- :ld_noallocaddqty + :ld_desaddqty - :ld_incaddqty,
- :ld_noallocaddqty,
- :ld_incqty,
- :ld_desaddqty);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '新加结存失败,物料:'+ls_mtrlcode+','+sys_option_change_status+':'+ls_status+','+sys_option_change_woodcode+':'+ls_woodcode+','+sys_option_change_pcode+':'+ls_pcode
- GOTO ext
- END IF
- NEXT
- END IF
- //CLOSE(w_sys_wait_jdt)
- //COMMIT;
- //MessageBox('系统提示','重算成功!')
- //THIS.TriggerEvent('retrieve_pageretr')
- ext:
- Destroy ds_warebalc
- Destroy ds_mtrlware
- Close(w_sys_wait_jdt)
- IF rslt = 0 THEN
- ROLLBACK;
- MessageBox('Error',arg_msg)
- RETURN
- ELSE
- COMMIT;
- MessageBox('系统提示','重算成功!')
- This.TriggerEvent('retrieve_pageretr')
- END IF
- end event
- event ue_cmp_amt2();//按上期结存重算本期结余
- IF Not f_power_ind(1507) THEN
- MessageBox(publ_operator,'你没有使用权限!')
- RETURN
- END IF
- //IF Not dw_pageretr.DataObject = 'dw_warebalc_view' THEN
- // MessageBox('系统提示','必须在客户产品统计表中才能执行本功能')
- // RETURN
- //END IF
- IF cur_storageid = -1 THEN
- MessageBox('系统提示','请先选择仓库')
- RETURN
- END IF
- Long rslt = 1
- String arg_msg
- Long cnt
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_mtrlware
- WHERE u_mtrlware.storageid = :cur_storageid
- AND ( u_mtrlware.plancode <> '' OR sptid <> 0 )
- AND u_mtrlware.noallocqty <> 0
- And u_mtrlware.mtrlid In (SELECT mtrlid From u_warebalc Where storageid = :cur_storageid And balcdateint = 0);
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('系统提示','查询仓库物料使用了批号库存失败,'+sqlca.SQLErrText)
- RETURN
- END IF
- IF cnt > 0 THEN
- MessageBox('系统提示','仓库物料使用了批号库存,不能重算')
- RETURN
- END IF
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_outware,u_outwaremx
- WHERE u_outware.storageid = :cur_storageid
- AND u_outware.scid = u_outwaremx.scid
- AND u_outware.outwareid = u_outwaremx.outwareid
- AND u_outware.flag = 1
- AND u_outware.balcdateint = 0
- AND u_outwaremx.plancode <> ''
- And u_outwaremx.mtrlid In (SELECT mtrlid From u_warebalc Where storageid = :cur_storageid And balcdateint = 0);
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('系统提示','查询仓库物料出仓使用了批号库存失败,'+sqlca.SQLErrText)
- RETURN
- END IF
- IF cnt > 0 THEN
- MessageBox('系统提示','仓库物料出仓使用了批号库存,不能重算')
- RETURN
- END IF
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_inware,u_inwaremx
- WHERE u_inware.storageid = :cur_storageid
- AND u_inware.scid = u_inwaremx.scid
- AND u_inware.inwareid = u_inwaremx.inwareid
- AND u_inware.flag = 1
- AND u_inware.balcdateint = 0
- AND u_inwaremx.plancode <> ''
- And u_inwaremx.mtrlid In (SELECT mtrlid From u_warebalc Where storageid = :cur_storageid And balcdateint = 0);
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('系统提示','查询仓库物料进仓使用了批号库存失败,'+sqlca.SQLErrText)
- RETURN
- END IF
- IF cnt > 0 THEN
- MessageBox('系统提示','仓库物料进仓使用了批号库存,不能重算')
- RETURN
- END IF
- IF MessageBox (publ_operator,"是否确定要执行按上期结存重算本期结余功能?",Question!,YesNo! ) = 2 THEN RETURN
- //IF cur_storageid = -1 THEN
- // MessageBox('系统提示','请先选择仓库')
- // RETURN
- //END IF
- datastore ds_warebalc
- ds_warebalc = Create datastore
- ds_warebalc.DataObject = 'dw_warebalc_view'
- ds_warebalc.SetTransObject(sqlca)
- ds_warebalc.Retrieve(cur_storageid_arr,'','',-1,publ_operator)
- // //清空筛选内容
- //ds_warebalc.SetFilter('')
- //ds_warebalc.Filter()
- //ds_warebalc.Retrieve(cur_storageid_arr,'','',cur_mtrlorigin,publ_operator)
- Long ll_lastbalcdateint
- Long ll_i
- Decimal ld_newcost // 最新成本价
- Decimal ld_balcqty_last,ld_balcamt_last,ld_inamt,ld_inqty,ld_outamt,ld_outqty
- Decimal ld_ubalcqty_last,ld_uinqty,ld_uoutqty
- Decimal ld_bgqty,ld_bgamt,ld_incqty,ld_incamt,ld_desqty,ld_desamt
- Decimal ld_balcqty,ld_balcamt
- Long ll_mtrlid
- String ls_status,ls_pcode,ls_woodcode
- String ls_mtrlcode,ls_msg
- Long ll_sptid_cusid
- cnt = 0
- SELECT count(*) INTO :cnt
- FROM u_warebalc
- Where storageid = :cur_storageid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询历史结存失败,操作取消'
- GOTO ext
- END IF
- IF cnt > 0 THEN
- SELECT max(balcdateint) INTO :ll_lastbalcdateint
- FROM u_warebalc
- Where storageid = :cur_storageid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询上次结存失败,操作取消'
- GOTO ext
- END IF
- ELSE
- ll_lastbalcdateint = -1
- END IF
- UPDATE u_mtrlware
- SET noallocqty = 0,wareamt = 0
- Where storageid = : cur_storageid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '清除库存数量,金额失败,操作取消'
- GOTO ext
- END IF
- Open(w_sys_wait_jdt) //初始化进度条
- w_sys_wait_jdt.Show()
- w_sys_wait_jdt.wf_accepttol(ds_warebalc.RowCount())
- FOR ll_i = 1 To ds_warebalc.RowCount()
-
- ld_bgqty = ds_warebalc.Object.u_mtrldef_bgqty[ll_i]
- ld_bgamt = ds_warebalc.Object.u_mtrldef_bgamt[ll_i]
- ld_incqty = ds_warebalc.Object.u_mtrldef_incqty[ll_i]
- ld_incamt = ds_warebalc.Object.u_mtrldef_incamt[ll_i]
- ld_desqty = ds_warebalc.Object.u_mtrldef_desqty[ll_i]
- ld_desamt = ds_warebalc.Object.u_mtrldef_desamt[ll_i]
- ls_status = ds_warebalc.Object.u_warebalc_status[ll_i]
- ls_woodcode = ds_warebalc.Object.u_warebalc_woodcode[ll_i]
- ls_pcode = ds_warebalc.Object.u_warebalc_pcode[ll_i]
- ls_mtrlcode = ds_warebalc.Object.u_mtrldef_mtrlcode[ll_i]
- ll_mtrlid = ds_warebalc.Object.u_mtrldef_mtrlid[ll_i]
- ll_sptid_cusid = ds_warebalc.Object.u_warebalc_sptid_cusid[ll_i]
-
-
- // if ll_mtrlid = 9159 then
- // ll_mtrlid = 9159
- // end if
- w_sys_wait_jdt.st_msg.Text = " 正在重算:"+ls_mtrlcode+','+sys_option_change_status+':'+ls_status+','+sys_option_change_woodcode+':'+ls_woodcode+','+sys_option_change_pcode+':'+ls_pcode+"..." //进度信息
- w_sys_wait_jdt.wf_inc(ll_i)
-
- IF IsNull(ld_bgqty) THEN ld_bgqty = 0
- IF IsNull(ld_incqty) THEN ld_incqty = 0
- IF IsNull(ld_bgamt) THEN ld_bgamt = 0
- IF IsNull(ld_incamt) THEN ld_incamt = 0
- IF IsNull(ld_desqty) THEN ld_desqty = 0
- IF IsNull(ld_desamt) THEN ld_desamt = 0
-
-
- //查期初
- IF ld_bgqty > 0 And ll_lastbalcdateint > 0 THEN
- SELECT balcqty,balcamt
- INTO :ld_balcqty_last,:ld_balcamt_last
- FROM u_warebalc
- WHERE storageid = :cur_storageid
- AND mtrlid = :ll_mtrlid
- AND status = :ls_status
- AND woodcode = :ls_woodcode
- AND pcode = :ls_pcode
- AND balcdateint = :ll_lastbalcdateint
- And sptid_cusid = :ll_sptid_cusid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询上月结存失败,物料:'+ls_mtrlcode+','+sys_option_change_status+':'+ls_status+','+sys_option_change_woodcode+':'+ls_woodcode+','+sys_option_change_pcode+':'+ls_pcode+','+sqlca.SQLErrText
- GOTO ext
- END IF
-
- IF ld_balcqty_last <> ld_bgqty THEN ld_bgqty = ld_balcqty_last
- IF ld_balcamt_last <> ld_bgamt THEN ld_bgamt = ld_balcamt_last
- ELSE
- ld_bgqty = 0
- ld_bgamt = 0
-
- END IF
-
- //查进仓
- SELECT isnull(sum(u_inwaremx.qty),0),isnull(sum(u_inwaremx.uqty),0),isnull(sum(round(u_inwaremx.cost * u_inwaremx.qty,2)),0)
- INTO :ld_inqty,:ld_uinqty,:ld_inamt
- FROM u_inware,u_inwaremx
- WHERE u_inware.scid = u_inwaremx.scid
- AND u_inware.inwareid = u_inwaremx.inwareid
- AND u_inwaremx.mtrlid = :ll_mtrlid
- AND u_inwaremx.status = :ls_status
- AND u_inwaremx.woodcode = :ls_woodcode
- AND u_inwaremx.pcode = :ls_pcode
- AND u_inware.storageid = :cur_storageid
- AND u_inware.balcdateint = 0
- AND u_inware.flag = 1
- And u_inwaremx.sptid_cusid = :ll_sptid_cusid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询本月进仓失败,物料:'+ls_mtrlcode+','+sys_option_change_status+':'+ls_status+','+sys_option_change_woodcode+':'+ls_woodcode+','+sys_option_change_pcode+':'+ls_pcode+','+sqlca.SQLErrText
- GOTO ext
- END IF
-
- IF ld_incqty <> ld_inqty THEN ld_incqty = ld_inqty
- IF ld_incamt <> ld_inamt THEN ld_incamt = ld_inamt
-
-
-
-
- //查出仓
- SELECT isnull(sum(u_outwaremx.qty),0),isnull(sum(u_outwaremx.uqty),0),isnull(sum(round(u_outwaremx.costamt,2)),0)
- INTO :ld_outqty,:ld_uoutqty,:ld_outamt
- FROM u_outware,u_outwaremx
- WHERE u_outware.scid = u_outwaremx.scid
- AND u_outware.outwareid = u_outwaremx.outwareid
- AND u_outwaremx.mtrlid = :ll_mtrlid
- AND u_outwaremx.status = :ls_status
- AND u_outwaremx.woodcode = :ls_woodcode
- AND u_outwaremx.pcode = :ls_pcode
- AND u_outware.storageid = :cur_storageid
- AND u_outware.balcdateint = 0
- AND u_outware.flag = 1
- And u_outwaremx.sptid = :ll_sptid_cusid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询本月出仓失败,物料:'+ls_mtrlcode+','+sys_option_change_status+':'+ls_status+','+sys_option_change_woodcode+':'+ls_woodcode+','+sys_option_change_pcode+':'+ls_pcode+','+sqlca.SQLErrText
- GOTO ext
- END IF
-
- IF ld_desqty <> ld_outqty THEN ld_desqty = ld_outqty
- IF ld_desamt <> ld_outamt THEN ld_desamt = ld_outamt
-
-
-
- IF IsNull(ld_bgqty) THEN ld_bgqty = 0
- IF IsNull(ld_bgamt) THEN ld_bgamt = 0
- IF IsNull(ld_incqty) THEN ld_incqty = 0
- IF IsNull(ld_incamt) THEN ld_incamt = 0
- IF IsNull(ld_desqty) THEN ld_desqty = 0
- IF IsNull(ld_desamt) THEN ld_desamt = 0
-
-
- IF ld_bgqty + ld_incqty <> 0 THEN
- ld_newcost = Round((ld_bgamt + ld_incamt) / (ld_bgqty + ld_incqty),10)
- ELSE
- IF ld_desqty <> 0 THEN
- ld_newcost = Round(ld_desamt / ld_desqty, 10)
- ELSE
- ld_newcost = 0
- END IF
- END IF
-
- IF ld_newcost < 0 THEN ld_newcost = 0
-
- //更新期间出金额,结存金额
- UPDATE u_warebalc
- SET bgqty = :ld_bgqty,
- bgamt = :ld_bgamt,
- incqty = :ld_incqty,
- incamt = :ld_incamt,
- desqty = :ld_desqty,
- desamt = round(:ld_desqty * :ld_newcost,2),
- balcqty = :ld_bgqty + :ld_incqty - :ld_desqty,
- balcamt = round((:ld_bgqty + :ld_incqty - :ld_desqty) * :ld_newcost,2)
- WHERE mtrlid = :ll_mtrlid
- AND balcdateint = 0
- AND Storageid = :cur_storageid
- AND status = :ls_status
- AND woodcode = :ls_woodcode
- AND pcode = :ls_pcode
- And sptid_cusid = :ll_sptid_cusid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '更新结存失败,物料:'+ls_mtrlcode+','+sys_option_change_status+':'+ls_status+','+sys_option_change_woodcode+':'+ls_woodcode+','+sys_option_change_pcode+':'+ls_pcode+','+sqlca.SQLErrText
- GOTO ext
- END IF
-
- UPDATE u_mtrlware
- SET cost = :ld_newcost,
- noallocqty = :ld_bgqty + :ld_incqty - :ld_desqty ,
- wareamt = round((:ld_bgqty + :ld_incqty - :ld_desqty) * :ld_newcost,2)
- WHERE mtrlid = :ll_mtrlid
- AND Storageid = :cur_storageid
- AND status = :ls_status
- AND woodcode = :ls_woodcode
- AND pcode = :ls_pcode
- AND plancode = ''
- And sptid = :ll_sptid_cusid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '更新库存金额失败,物料:'+ls_mtrlcode+','+sys_option_change_status+':'+ls_status+','+sys_option_change_woodcode+':'+ls_woodcode+','+sys_option_change_pcode+':'+ls_pcode+','+sqlca.SQLErrText
- GOTO ext
- END IF
-
- UPDATE u_outwaremx
- SET u_outwaremx.cost = :ld_newcost,
- u_outwaremx.costamt = round(u_outwaremx.qty * :ld_newcost,2)
- FROM u_outwaremx INNER JOIN
- u_outware ON u_outwaremx.scid = u_outware.scid AND
- u_outwaremx.outwareid = u_outware.outwareid
- WHERE u_outwaremx.mtrlid = :ll_mtrlid
- AND u_outware.storageid = :cur_storageid
- AND u_outwaremx.status = :ls_status
- AND u_outwaremx.woodcode = :ls_woodcode
- AND u_outwaremx.pcode = :ls_pcode
- AND u_outware.balcflag = 0
- And u_outwaremx.sptid = :ll_sptid_cusid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '更新未结存的出仓单金额失败,物料:'+ls_mtrlcode+','+sys_option_change_status+':'+ls_status+','+sys_option_change_woodcode+':'+ls_woodcode+','+sys_option_change_pcode+':'+ls_pcode+','+sqlca.SQLErrText
- GOTO ext
- END IF
- NEXT
- ext:
- Destroy ds_warebalc
- Close(w_sys_wait_jdt)
- IF rslt = 0 THEN
- ROLLBACK;
- MessageBox('Error',arg_msg)
- RETURN
- ELSE
- COMMIT;
- MessageBox('系统提示','重算成功!')
- This.TriggerEvent('retrieve_pageretr')
- END IF
- end event
- event ue_cmp();//超级重算
- IF Not f_power_ind(1507) THEN
- MessageBox(publ_operator,'你没有使用权限!')
- RETURN
- END IF
- //IF NOT dw_pageretr.DataObject = 'dw_warebalc_view' THEN
- // MessageBox('系统提示','必须在客户产品统计表中才能执行本功能')
- // RETURN
- //END IF
- IF MessageBox (publ_operator,"是否确定要执行超级重算结存功能?",Question!,YesNo! ) = 2 THEN RETURN
- IF cur_storageid = -1 THEN
- MessageBox('系统提示','请先选择仓库')
- RETURN
- END IF
- //// //清空筛选内容
- //dw_pageretr.SetFilter('')
- //dw_pageretr.Filter()
- //dw_pageretr.Retrieve(cur_storageid_arr,'','',-1,publ_operator)
- Long rslt = 1
- String arg_msg
- Long ll_i
- Decimal ld_newcost // 最新成本价
- Decimal ld_bgqty,ld_bgamt,ld_incqty,ld_incamt,ld_desqty,ld_desamt
- Decimal ld_balcqty,ld_balcamt
- Long ll_mtrlid
- String ls_status,ls_pcode,ls_woodcode
- String ls_mtrlcode
- Decimal ld_noallocqty,ld_wareamt
- Decimal ld_noallocqty_sum,ld_wareamt_sum
- Long ll_sptid
- Open(w_sys_wait_jdt) //初始化进度条
- w_sys_wait_jdt.Show()
- //
- ////结存查库存
- //库存计结存
- Long cnt,ll_scid
- datastore ds_mtrlware
- ds_mtrlware = Create datastore
- ds_mtrlware.DataObject = 'ds_warebalc_view_cmpl_mtrlware_to_balc2'
- ds_mtrlware.SetTransObject(sqlca)
- ds_mtrlware.Retrieve(cur_storageid)
- ds_mtrlware.AcceptText()
- //IF ld_noallocqty_sum <> ds_mtrlware.Object.sumqty[1] OR &
- // ld_wareamt_sum <> ds_mtrlware.Object.sumamt[1] THEN
- SELECT scid INTO :ll_scid
- FROM u_storage
- Where storageid = :cur_storageid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询仓库所属分部失败'
- GOTO ext
- END IF
- w_sys_wait_jdt.wf_accepttol(ds_mtrlware.RowCount())
- FOR ll_i = 1 To ds_mtrlware.RowCount()
- ll_mtrlid = 0
- ls_mtrlcode = ''
- ls_status = ''
- ls_woodcode = ''
- ls_pcode = ''
- ld_noallocqty = 0
- ld_wareamt = 0
- ll_sptid = 0
- cnt = 0
-
- ls_mtrlcode = ds_mtrlware.Object.u_mtrldef_mtrlcode[ll_i]
- ll_mtrlid = ds_mtrlware.Object.mtrlid[ll_i]
-
- ls_status = ds_mtrlware.Object.status[ll_i]
- ls_woodcode = ds_mtrlware.Object.woodcode[ll_i]
- ls_pcode = ds_mtrlware.Object.pcode[ll_i]
- ld_noallocqty = ds_mtrlware.Object.qty[ll_i]
- ld_wareamt = ds_mtrlware.Object.amt[ll_i]
- ll_sptid = ds_mtrlware.Object.u_mtrlware_sptid[ll_i]
- w_sys_wait_jdt.st_msg.Text = " 正在库存重算:"+ls_mtrlcode+','+sys_option_change_status+':'+ls_status+','+sys_option_change_woodcode+':'+ls_woodcode+','+sys_option_change_pcode+':'+ls_pcode+"..." //进度信息
- w_sys_wait_jdt.wf_inc(ll_i)
-
-
- SELECT sum(Round(u_inwaremx.qty * u_inwaremx.cost,2)) ,
- sum(u_inwaremx.qty)
- INTO :ld_incamt,:ld_incqty
- FROM u_inwaremx,u_inware
- WHERE u_inwaremx.scid = u_inware.scid
- AND u_inwaremx.inwareid = u_inware.inwareid
- AND u_inware.storageid = :cur_storageid
- AND u_inware.balcdateint = 0
- AND u_inwaremx.mtrlid = :ll_mtrlid
- AND u_inwaremx.status = :ls_status
- AND u_inwaremx.woodcode = :ls_woodcode
- AND u_inwaremx.pcode = :ls_pcode
- AND u_inwaremx.sptid_cusid = :ll_sptid
- And u_inware.flag = 1;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询进仓失败,物料:'+ls_mtrlcode+','+sys_option_change_status+':'+ls_status+','+sys_option_change_woodcode+':'+ls_woodcode+','+sys_option_change_pcode+':'+ls_pcode
- GOTO ext
- END IF
-
- SELECT sum(u_outwaremx.costamt) ,
- sum(u_outwaremx.qty)
- INTO :ld_desamt,:ld_desqty
- FROM u_outwaremx,u_outware
- WHERE u_outwaremx.scid = u_outware.scid
- AND u_outwaremx.outwareid = u_outware.outwareid
- AND u_outware.storageid = :cur_storageid
- AND u_outware.balcdateint = 0
- AND u_outwaremx.mtrlid = :ll_mtrlid
- AND u_outwaremx.status = :ls_status
- AND u_outwaremx.woodcode = :ls_woodcode
- AND u_outwaremx.pcode = :ls_pcode
- AND u_outwaremx.sptid = :ll_sptid
- And u_outware.flag = 1;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询出仓失败,物料:'+ls_mtrlcode+','+sys_option_change_status+':'+ls_status+','+sys_option_change_woodcode+':'+ls_woodcode+','+sys_option_change_pcode+':'+ls_pcode
- GOTO ext
- END IF
-
- IF IsNull(ld_desqty) THEN ld_desqty = 0
- IF IsNull(ld_incqty) THEN ld_incqty = 0
- IF IsNull(ld_desamt) THEN ld_desamt = 0
- IF IsNull(ld_incamt) THEN ld_incamt = 0
- UPDATE u_warebalc
- SET balcqty = :ld_noallocqty,
- balcamt = :ld_wareamt,
- bgqty = :ld_noallocqty + :ld_desqty - :ld_incqty,
- bgamt = :ld_wareamt + :ld_desamt - :ld_incamt,
- incqty = :ld_incqty,
- incamt = :ld_incamt,
- desqty = :ld_desqty,
- desamt = :ld_desamt
- WHERE mtrlid = :ll_mtrlid
- AND balcdateint = 0
- AND Storageid = :cur_storageid
- AND status = :ls_status
- AND woodcode = :ls_woodcode
- AND pcode = :ls_pcode
- And sptid_cusid = :ll_sptid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '更新结存失败,物料:'+ls_mtrlcode+','+sys_option_change_status+':'+ls_status+','+sys_option_change_woodcode+':'+ls_woodcode+','+sys_option_change_pcode+':'+ls_pcode
- GOTO ext
- ELSEIF sqlca.SQLNRows = 0 THEN
- INSERT INTO u_warebalc
- (scid,
- balcdateint,
- storageid,
- mtrlid,
- status,
- woodcode,
- pcode,
- bgqty,
- bgamt,
- incqty,
- incamt,
- desqty,
- desamt,
- balcqty,
- balcamt,
- sptid_cusid)
- VALUES
- (:sys_scid,0,
- :cur_storageid,
- :ll_mtrlid,
- :ls_status,
- :ls_woodcode,
- :ls_pcode,
- :ld_noallocqty + :ld_desqty - :ld_incqty,
- :ld_wareamt + :ld_desamt - :ld_incamt,
- :ld_incqty,
- :ld_incamt,
- :ld_desqty,
- :ld_desamt,
- :ld_noallocqty,
- :ld_wareamt,
- :ll_sptid);
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '新加结存失败,物料:'+ls_mtrlcode+','+sys_option_change_status+':'+ls_status+','+sys_option_change_woodcode+':'+ls_woodcode+','+sys_option_change_pcode+':'+ls_pcode
- GOTO ext
- END IF
- END IF
-
- NEXT
- //END IF
- ext:
- Destroy ds_mtrlware
- Close(w_sys_wait_jdt)
- IF rslt = 0 THEN
- ROLLBACK;
- MessageBox('Error',arg_msg)
- RETURN
- ELSE
- COMMIT;
- MessageBox('系统提示','重算成功!')
- This.TriggerEvent('retrieve_pageretr')
- END IF
- end event
- event ue_update_inware_mtrlwareid();UPDATE u_inwaremx
- SET mtrlwareid = u_mtrlware.mtrlwareid
- FROM u_inware INNER JOIN
- u_inwaremx ON u_inware.scid = u_inwaremx.scid AND
- u_inware.inwareid = u_inwaremx.inwareid INNER JOIN
- u_mtrlware ON u_inwaremx.scid = u_mtrlware.scid AND
- u_inwaremx.mtrlid = u_mtrlware.mtrlid AND
- u_inwaremx.plancode = u_mtrlware.plancode AND
- u_inwaremx.status = u_mtrlware.Status AND
- u_inwaremx.woodcode = u_mtrlware.woodcode AND
- u_inwaremx.pcode = u_mtrlware.pcode AND
- u_inwaremx.sptid_cusid = u_mtrlware.Sptid AND
- u_inware.storageid = u_mtrlware.storageid AND
- u_inware.Dxflag = u_mtrlware.Dxflag
- Where (u_inware.flag = 1) And (u_inwaremx.mtrlwareid = 0);
- IF sqlca.SQLCode <> 0 THEN
- ROLLBACK;
- MessageBox('','失败')
- ELSE
- COMMIT;
- MessageBox('','成功')
- END IF
- end event
- public subroutine wf_hide_col ();s_hide_col s_col
- s_col.col_1 = 'u_mtrldef_bgamt'
- s_col.col_2 = 'u_mtrldef_incamt'
- s_col.col_3 = 'u_mtrldef_desamt'
- s_col.col_4 = 'u_mtrldef_balcamt'
- f_hide_col(123,dw_pageretr,s_col)
- s_hide_col s_col_mtrlsectype
- s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
- f_hide_col(1308,dw_pageretr,s_col_mtrlsectype)
- s_hide_col s_col_zxmtrlmode
- s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
- f_hide_col(1309,dw_pageretr,s_col_zxmtrlmode)
- IF dw_pageretr.DataObject = 'dw_warebalc_view' THEN
- s_hide_col s_col_cusname
- s_col_cusname.col_1 = 'u_cust_name'
- f_hide_col(1306,dw_pageretr,s_col_cusname)
- END IF
- end subroutine
- on w_warebalc_view_bk.create
- int iCurrent
- call super::create
- this.cb_1=create cb_1
- this.ddlb_storageid=create ddlb_storageid
- this.em_month=create em_month
- this.st_2=create st_2
- this.ddlb_1=create ddlb_1
- this.cb_cmp=create cb_cmp
- this.tv_1=create tv_1
- this.ddlb_mtrlorigin=create ddlb_mtrlorigin
- this.st_lastbalcdate=create st_lastbalcdate
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.cb_1
- this.Control[iCurrent+2]=this.ddlb_storageid
- this.Control[iCurrent+3]=this.em_month
- this.Control[iCurrent+4]=this.st_2
- this.Control[iCurrent+5]=this.ddlb_1
- this.Control[iCurrent+6]=this.cb_cmp
- this.Control[iCurrent+7]=this.tv_1
- this.Control[iCurrent+8]=this.ddlb_mtrlorigin
- this.Control[iCurrent+9]=this.st_lastbalcdate
- end on
- on w_warebalc_view_bk.destroy
- call super::destroy
- destroy(this.cb_1)
- destroy(this.ddlb_storageid)
- destroy(this.em_month)
- destroy(this.st_2)
- destroy(this.ddlb_1)
- destroy(this.cb_cmp)
- destroy(this.tv_1)
- destroy(this.ddlb_mtrlorigin)
- destroy(this.st_lastbalcdate)
- end on
- event ue_usual_query_retr;call super::ue_usual_query_retr;String ls_querystrpart = ''
- ls_newselect = Lower(ori_oldselect)
- IF Trim(sle_usual_query.Text) <> '' THEN
- IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN
- ls_querystrpart = ls_querystrpart + "u_mtrldef.mtrlcode like '%"+Trim(sle_usual_query.Text)+"%'"
- ls_querystrpart = ls_querystrpart + " or u_mtrldef.mtrlname like '%"+Trim(sle_usual_query.Text)+"%')"
- ELSE
- ls_querystrpart = ls_querystrpart + " (u_mtrldef.mtrlcode like '"+Trim(sle_usual_query.Text)+"'"
- ls_querystrpart = ls_querystrpart + " or u_mtrldef.mtrlname like '"+Trim(sle_usual_query.Text)+"')"
- END IF
-
- IF Pos(ls_newselect," where ") <> 0 THEN
- ls_newselect = ls_newselect+" AND ("+ls_querystrpart+')'
- ELSE
- ls_newselect = ls_newselect+" where ("+ls_querystrpart+')'
- END IF
- END IF
- wf_retrieveuc(dw_pageretr,ls_newselect,1)
- THIS.TriggerEvent('retrieve_pageretr')
- end event
- event ue_usual_query_filt;call super::ue_usual_query_filt;String obj_expr = ''
- IF ddlb_1.Text = '明细统计表' or ddlb_1.text='汇总统计表' THEN
-
- IF Trim(sle_usual_query.Text) <> '' THEN
- IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN
- obj_expr = obj_expr+' ( u_mtrldef_mtrlcode LIKE "%'+Trim(sle_usual_query.Text)+'%") '
- obj_expr = obj_expr+' or ( u_mtrldef_mtrlname LIKE "%'+Trim(sle_usual_query.Text)+'%") '
- ELSE
- obj_expr = obj_expr+' ( u_mtrldef_mtrlcode LIKE "'+Trim(sle_usual_query.Text)+'") '
- obj_expr = obj_expr+' or ( u_mtrldef_mtrlname LIKE "'+Trim(sle_usual_query.Text)+'") '
- END IF
- END IF
- ELSE
- IF Trim(sle_usual_query.Text) <> '' THEN
- IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN
- obj_expr = obj_expr+' ( u_mtrltype_mtrltype LIKE "%'+Trim(sle_usual_query.Text)+'%") '
- ELSE
- obj_expr = obj_expr+' ( u_mtrltype_mtrltype LIKE "'+Trim(sle_usual_query.Text)+'") '
- END IF
- END IF
- END IF
- dw_pageretr.SetFilter(obj_expr)
- dw_pageretr.SetRedraw(FALSE)
- dw_pageretr.Filter()
- IF dw_pageretr.RowCount() >= 1 THEN
- dw_pageretr.SelectRow(0,FALSE)
- dw_pageretr.SelectRow(1,TRUE)
- END IF
- dw_pageretr.SetRedraw(TRUE)
- end event
- event retrieve_pageretr;Boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
- Boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
- cb_nextpage_enabled = cb_nextpage.Enabled
- cb_retrieveall_enabled = cb_retrieveall.Enabled
- cb_func_enabled = cb_func.Enabled
- cb_nextpage.Enabled = False
- cb_retrieveall.Enabled = False
- cb_func.Enabled = False
- SetPointer(HourGlass!)
- dw_pageretr.Retrieve(cur_storageid_arr,ls_handtype,ls_mtrltype,cur_mtrlorigin,publ_operator)
- //查询最后结存日期
- DateTime ldt_lastbalcdate
- SELECT max( balcdate)
- INTO :ldt_lastbalcdate
- FROM u_warebalc
- WHERE (storageid = :cur_storageid OR :cur_storageid = -1)
- And balcdateint <> 0;
- IF sqlca.SQLCode <> 0 THEN
- SetNull(ldt_lastbalcdate)
- END IF
- IF IsNull(ldt_lastbalcdate) THEN
- st_lastbalcdate.Text = '没有结存记录'
- ELSE
- st_lastbalcdate.Text = '最后结存日期:'+String(ldt_lastbalcdate, 'yyyy-mm-dd')
- END IF
- SetPointer(Arrow!)
- cb_nextpage.Enabled = cb_nextpage_enabled
- cb_retrieveall.Enabled = cb_retrieveall_enabled
- cb_func.Enabled = cb_func_enabled
- end event
- event ue_before_open;call super::ue_before_open;if_ue_retr=true
- if_ue_filter=true
- if_ue_sort=true
- if_ue_sentdataout=true
- end event
- event resize;call super::resize;tv_1.height=this.height - dw_pageretr.y - 115
- end event
- event open;call super::open;wf_hide_col()
- //tv_1.f_maketree(-1)
- end event
- type cb_func from w_publ_pageretr_easyq`cb_func within w_warebalc_view_bk
- integer taborder = 140
- end type
- type cb_exit from w_publ_pageretr_easyq`cb_exit within w_warebalc_view_bk
- integer x = 1198
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- end type
- type sle_usual_query from w_publ_pageretr_easyq`sle_usual_query within w_warebalc_view_bk
- boolean visible = false
- integer x = 2135
- integer y = 188
- integer width = 562
- integer height = 96
- end type
- type cb_retrieveall from w_publ_pageretr_easyq`cb_retrieveall within w_warebalc_view_bk
- boolean visible = false
- integer x = 2478
- integer y = 396
- integer taborder = 150
- end type
- type em_pagerowno from w_publ_pageretr_easyq`em_pagerowno within w_warebalc_view_bk
- integer x = 2149
- integer y = 484
- end type
- type dw_pageretr from w_publ_pageretr_easyq`dw_pageretr within w_warebalc_view_bk
- integer x = 805
- integer y = 300
- integer width = 2597
- integer height = 1260
- string dataobject = "dw_warebalc_view_sum"
- end type
- type st_1 from w_publ_pageretr_easyq`st_1 within w_warebalc_view_bk
- boolean visible = false
- integer x = 1783
- integer y = 208
- integer width = 343
- string text = "编码/名称含"
- alignment alignment = right!
- end type
- type cb_nextpage from w_publ_pageretr_easyq`cb_nextpage within w_warebalc_view_bk
- boolean visible = false
- integer x = 2985
- integer y = 396
- integer taborder = 180
- end type
- type ddlb_yl from w_publ_pageretr_easyq`ddlb_yl within w_warebalc_view_bk
- integer x = 1655
- integer y = 40
- integer taborder = 80
- end type
- type cbx_yl from w_publ_pageretr_easyq`cbx_yl within w_warebalc_view_bk
- integer x = 1445
- integer y = 44
- end type
- event cbx_yl::clicked;call super::clicked;if this.checked then
- dw_edit_mode=true
- dw_pageretr.selectrow(0,false)
- else
- dw_edit_mode=false
- end if
- end event
- type cb_psetup from w_publ_pageretr_easyq`cb_psetup within w_warebalc_view_bk
- integer x = 782
- integer taborder = 130
- end type
- type cb_2 from w_publ_pageretr_easyq`cb_2 within w_warebalc_view_bk
- integer x = 631
- integer taborder = 70
- end type
- type cb_refresh from w_publ_pageretr_easyq`cb_refresh within w_warebalc_view_bk
- integer taborder = 90
- end type
- event cb_refresh::clicked;dw_pageretr.SetRedraw(FALSE)
- parent.triggerevent('retrieve_pageretr')
- IF cur_storageid = -1 THEN
- dw_pageretr.Object.Title.Text = '仓库结存预览表'
- ELSE
- dw_pageretr.Object.Title.Text = Left(ddlb_storageid.Text,Pos(ddlb_storageid.Text,'[') - 1)+'仓库结存预览表'
- END IF
- dw_pageretr.SetRedraw(TRUE)
- IF retrieve_all THEN
- THIS.TriggerEvent("ue_usual_query_filt")
- END IF
- end event
- type cb_help from w_publ_pageretr_easyq`cb_help within w_warebalc_view_bk
- integer x = 1047
- end type
- type cb_copyself from w_publ_pageretr_easyq`cb_copyself within w_warebalc_view_bk
- end type
- type gb_2 from w_publ_pageretr_easyq`gb_2 within w_warebalc_view_bk
- end type
- type ln_bar from w_publ_pageretr_easyq`ln_bar within w_warebalc_view_bk
- end type
- type ln_bar2 from w_publ_pageretr_easyq`ln_bar2 within w_warebalc_view_bk
- end type
- type r_bar from w_publ_pageretr_easyq`r_bar within w_warebalc_view_bk
- integer x = 2578
- end type
- type ln_1 from w_publ_pageretr_easyq`ln_1 within w_warebalc_view_bk
- end type
- type ln_2 from w_publ_pageretr_easyq`ln_2 within w_warebalc_view_bk
- end type
- type cb_1 from uo_imflatbutton within w_warebalc_view_bk
- integer x = 302
- integer width = 165
- integer height = 164
- integer taborder = 100
- 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;IF NOT f_power_ind(75) THEN
- MessageBox('提示','你没有使用权限!',information!,ok!)
- RETURN
- END IF
- IF cur_storageid = -1 THEN
- MessageBox("提示","请选择仓库结存",information!,ok!)
- RETURN
- END IF
- balcdate = DateTime(Date(em_month.Text),Time('23:59:59'))
- IF MessageBox ('询问',"是否确定要把当前日仓库进行结存操作吗?"+'~n'+&
- '结存时间: '+String(balcdate,'YYYY-MM-DD HH:MM:SS')+',结存过程中不能进行其它操作!',Question!,YesNo! ) = 2 THEN RETURN
- w_sys_wait.Show()
- String arg_msg = '',err_msg = ''
- uf_warebalc(1,0,cur_storageid,balcdate,arg_msg)
- w_sys_wait.Hide()
- MessageBox('提示',arg_msg,information!,ok!)
- cb_refresh.TriggerEvent(Clicked!)
- end event
- type ddlb_storageid from uo_ddlb_storageid within w_warebalc_view_bk
- integer x = 494
- integer y = 192
- integer width = 613
- integer height = 1108
- integer taborder = 20
- boolean bringtotop = true
- end type
- event constructor;call super::constructor;cur_storageid = this.uo_storageid
- cur_storageid_arr = this.uo_storageid_arr
- end event
- event selectionchanged;call super::selectionchanged;cur_storageid = this.uo_storageid
- cur_storageid_arr = this.uo_storageid_arr
- cb_refresh.triggerevent(clicked!)
- end event
- type em_month from editmask within w_warebalc_view_bk
- integer x = 1371
- integer y = 188
- integer width = 434
- integer height = 88
- integer taborder = 100
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- string text = "none"
- alignment alignment = center!
- borderstyle borderstyle = stylelowered!
- maskdatatype maskdatatype = datemask!
- string mask = "yyyy-mm-dd"
- boolean spin = true
- end type
- event constructor;this.text = string(today(),'yyyy-mm-dd')
- end event
- event rbuttondown;s_calender_arg s_calender
- s_calender.PointerX = THIS.PointerX()
- s_calender.PointerY = THIS.PointerY()
- s_calender.X = THIS.X
- s_calender.Y = THIS.Y
- OpenWithParm(w_calendar,s_calender)
- THIS.Text = String(id_date_selected)
- end event
- type st_2 from statictext within w_warebalc_view_bk
- integer x = 1120
- integer y = 212
- integer width = 242
- 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_warebalc_view_bk
- integer x = 1957
- integer y = 44
- integer width = 745
- integer height = 1100
- integer taborder = 90
- 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 selectionchanged;dw_pageretr.SetRedraw(False)
- dw_pageretr.uf_save_profile_layout()
- IF ddlb_1.Text = '客户产品统计表' THEN
- dw_pageretr.DataObject = 'dw_warebalc_view'
- ELSEIF ddlb_1.Text = '产品明细统计表' THEN
- dw_pageretr.DataObject = 'dw_warebalc_view_sum_1'
- ELSEIF ddlb_1.Text = '汇总统计表' THEN
- dw_pageretr.DataObject = 'dw_warebalc_view_sum'
- ELSEIF ddlb_1.Text = '分类统计表' THEN
- dw_pageretr.DataObject = 'dw_warebalc_view_2'
- ELSEIF ddlb_1.Text = '汇总统计表(设定售价)' THEN
- dw_pageretr.DataObject = 'dw_warebalc_view_sum_saleprice'
- END IF
- dw_pageretr.SetTransObject(sqlca)
- dw_pageretr.ins_INIfile_name = sys_inifilename
- dw_pageretr.ins_opemp = publ_operator
- dw_pageretr.cardw_empid = sys_empid
- dw_pageretr.cur_DataObject = dw_pageretr.DataObject
- dw_pageretr.uf_read_profile_layout()
- wf_hide_col()
- //this.TriggerEvent('retrieve_pageretr')
- f_title_change(dw_pageretr)
- dw_pageretr.SetRedraw(True)
- cb_refresh.TriggerEvent(Clicked!)
- end event
- type cb_cmp from uo_imflatbutton within w_warebalc_view_bk
- integer x = 466
- integer width = 165
- integer height = 164
- integer taborder = 200
- boolean bringtotop = true
- string text = "重算"
- string normalpicname = "update.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_cmp_amt2"
- menustr = menustr + "|" + "Text=按库存数重算本期期初~tEvent=ue_cmp_mtrlware"
- menustr = menustr + "|" + "Text=超级重算~tEvent=ue_cmp"
- menustr = menustr + "|" + "Text=-"
- menustr = menustr + "|" + "Text=更新进仓单明细库存ID~tEvent=ue_update_inware_mtrlwareid"
- IF Len(Trim(menustr)) <> 0 THEN
- dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
- dmPopupMenu.mf_BuildMenu(THIS, menustr)
- dmPopupMenu.mf_PopMenu()
- DESTROY dmPopupMenu
- END IF
- end event
- type tv_1 from uo_tv_mtrltype within w_warebalc_view_bk
- integer y = 300
- integer width = 800
- integer height = 1312
- integer taborder = 110
- boolean bringtotop = true
- integer textsize = -9
- fontcharset fontcharset = gb2312charset!
- fontfamily fontfamily = anyfont!
- string facename = "宋体"
- end type
- event selectionchanged;call super::selectionchanged;ls_handtype = THIS.uo_cur_info.handtype
- ls_mtrltype = THIS.uo_cur_info.mtrltype
- IF ls_handtype <> '' THEN
- ls_mtrltype = '%'+ls_handtype+'%'
- ls_handtype = ls_handtype+'%'
- ELSE
- ls_mtrltype = ""
- END IF
- PARENT.TriggerEvent('retrieve_pageretr')
- end event
- type ddlb_mtrlorigin from uo_ddlb_mtrlorigin within w_warebalc_view_bk
- integer y = 192
- integer taborder = 110
- boolean bringtotop = true
- integer uo_mtrlorigin = -1
- end type
- event selectionchanged;call super::selectionchanged;cur_mtrlorigin = this.uo_mtrlorigin
- cb_refresh.TriggerEvent(Clicked!)
- //tv_1.f_maketree(-1)
- end event
- type st_lastbalcdate from statictext within w_warebalc_view_bk
- integer x = 1861
- integer y = 212
- integer width = 1019
- 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 = "最后结存日期"
- boolean focusrectangle = false
- end type
|