w_inware_buy_th_wareaudit.srw 86 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995
  1. $PBExportHeader$w_inware_buy_th_wareaudit.srw
  2. forward
  3. global type w_inware_buy_th_wareaudit from w_publ_1ton_share_detail
  4. end type
  5. type ddlb_scid from uo_ddlb_scid within w_inware_buy_th_wareaudit
  6. end type
  7. type cbx_his from checkbox within w_inware_buy_th_wareaudit
  8. end type
  9. type st_3 from statictext within w_inware_buy_th_wareaudit
  10. end type
  11. type st_2 from statictext within w_inware_buy_th_wareaudit
  12. end type
  13. type ddlb_status from dropdownlistbox within w_inware_buy_th_wareaudit
  14. end type
  15. end forward
  16. global type w_inware_buy_th_wareaudit from w_publ_1ton_share_detail
  17. string title = "采购退货单"
  18. boolean maxbox = true
  19. windowstate windowstate = maximized!
  20. event insert_childrow ( )
  21. event ue_secauditing ( )
  22. event ue_csecauditing ( )
  23. event ue_fj_edit ( )
  24. event ue_fj_view ( )
  25. event ue_cpml_qty ( )
  26. event ue_cmpl_status_qty ( )
  27. event ue_cmpl_qty ( )
  28. event ue_p_cmpl_qty ( )
  29. event ue_p_formula_set ( )
  30. ddlb_scid ddlb_scid
  31. cbx_his cbx_his
  32. st_3 st_3
  33. st_2 st_2
  34. ddlb_status ddlb_status
  35. end type
  36. global w_inware_buy_th_wareaudit w_inware_buy_th_wareaudit
  37. type variables
  38. Long cur_scid //分店ID
  39. Int cur_flag = -1
  40. Int cur_secflag = -1
  41. uo_inware_buy uo_ware
  42. uo_spt_price uo_sptprice
  43. Long cur_id = 0
  44. Int cur_editfocus = 0 //1:新建2:修改
  45. Long aflag = 0
  46. String ol_cdw_str = ''
  47. Long flag = 0
  48. Long secflag = 0
  49. end variables
  50. forward prototypes
  51. public function integer wf_refresh_curuc (long arg_scid, long arg_inwareid)
  52. public function integer wf_flagstatus_rf ()
  53. public function integer wf_check_print (ref string arg_msg)
  54. public subroutine wf_check_billfj ()
  55. public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg)
  56. public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg)
  57. end prototypes
  58. event insert_childrow();long li_row
  59. li_row=dw_child.insertrow(0)
  60. dw_child.scrolltorow(li_row)
  61. dw_child.SetColumn ('u_mtrldef_mtrlcode')
  62. end event
  63. event ue_secauditing();//IF dw_edit_mode THEN
  64. // MessageBox('系统提示',"编辑状态下不可以使用!")
  65. // return
  66. //END IF
  67. //
  68. //IF NOT f_power_ind(649) THEN
  69. // MessageBox(publ_operator,'你没有使用权限!')
  70. // RETURN
  71. //END IF
  72. //
  73. //string arg_msg=''
  74. //
  75. //if messagebox ("if","是否确定要审核当前单据?",question!,yesno! ) = 2 then return
  76. //long pagerert_row
  77. //
  78. //pagerert_row=dw_uc.getrow()
  79. //if pagerert_row<=0 then
  80. // messagebox('系统提示','请选定当前目标单据!')
  81. // return
  82. //end if
  83. //
  84. ////====================================================================
  85. //if uo_ware.getinfo(cur_scid,dw_uc.object.inwareid[pagerert_row],arg_msg)=0 then
  86. // messagebox('error!',arg_msg)
  87. // return
  88. //end if
  89. //
  90. //if uo_ware.secauditing(true,arg_msg)=0 then
  91. // messagebox('error!',arg_msg)
  92. //else
  93. // messagebox(publ_operator,'审核成功!')
  94. // wf_refresh_curuc(cur_scid,dw_uc.object.inwareid[pagerert_row])
  95. // sle_usual_query.setfocus()
  96. // sle_usual_query.selecttext(1,len(sle_usual_query.text))
  97. //end if
  98. end event
  99. event ue_csecauditing();IF dw_edit_mode THEN
  100. MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! )
  101. return
  102. END IF
  103. IF NOT f_power_ind(649) THEN
  104. MessageBox('提示','你没有使用权限!', Information!, OK! )
  105. RETURN
  106. END IF
  107. string arg_msg=''
  108. long pagerert_row
  109. pagerert_row=dw_pageretr.getrow()
  110. if pagerert_row<=0 then
  111. messagebox('提示','请选定当前目标单据!', Information!, OK! )
  112. return
  113. end if
  114. IF MessageBox ("询问","是否确定要撤审当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  115. if uo_ware.getinfo(cur_scid,dw_pageretr.object.inwareid [pagerert_row],arg_msg)=0 then
  116. messagebox('Error!',arg_msg)
  117. return
  118. end if
  119. if dw_pageretr.object.u_inware_secflag[pagerert_row]=1 then
  120. if uo_ware.c_secauditing(true,arg_msg)=0 then
  121. messagebox('Error!',arg_msg)
  122. else
  123. //日志
  124. long ls_id
  125. string ls_code
  126. ls_id=dw_uc.object.inwareid[pagerert_row]
  127. ls_code=dw_uc.object.inwarecode[pagerert_row]
  128. f_setsysoplog('采购退货单','财务撤审,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true)
  129. //--
  130. messagebox('提示','撤审成功!', Information!, OK! )
  131. wf_refresh_curuc(cur_scid,dw_pageretr.object.inwareid[pagerert_row])
  132. end if
  133. end if
  134. end event
  135. event ue_fj_edit();IF dw_edit_mode THEN
  136. MessageBox('提示','编辑状态下不可用', Information!, OK! )
  137. RETURN
  138. END IF
  139. //IF NOT f_power_ind(1098) THEN
  140. // MessageBox(publ_operator,'你没有使用权限!')
  141. // RETURN
  142. //END IF
  143. s_edit_index_tran s_pic
  144. Long ll_ConnectionID
  145. String arg_msg
  146. Long ls_row
  147. ls_row = dw_pageretr.GetRow()
  148. IF ls_row <= 0 THEN
  149. RETURN
  150. END IF
  151. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  152. MessageBox('提示','没有指定附件数据库连接'+arg_msg, Information!, OK! )
  153. RETURN
  154. END IF
  155. s_pic.f_long = 420 //销售订单的mainID
  156. s_pic.f_string = dw_pageretr.Object.inwarecode[ls_row]
  157. s_pic.g_long = dw_pageretr.Object.inwareid[ls_row]
  158. s_pic.e_long = dw_pageretr.Object.u_inware_scid[ls_row]
  159. s_pic.sqltransaction = sys_filedb_sqlca
  160. OpenWithParm(w_fj_bill_mng,s_pic)
  161. wf_check_billfj()
  162. end event
  163. event ue_fj_view();IF dw_edit_mode THEN
  164. MessageBox('提示','编辑状态下不可用', Information!, OK! )
  165. RETURN
  166. END IF
  167. s_edit_index_tran s_pic
  168. Long ll_ConnectionID
  169. String arg_msg
  170. Long ls_row
  171. ls_row = dw_pageretr.GetRow()
  172. IF ls_row <= 0 THEN
  173. RETURN
  174. END IF
  175. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  176. MessageBox('提示','没有指定附件数据库连接'+arg_msg, Information!, OK! )
  177. RETURN
  178. END IF
  179. s_pic.f_long = 420 //销售订单的mainID
  180. s_pic.f_string = dw_pageretr.Object.inwarecode[ls_row]
  181. s_pic.g_long = dw_pageretr.Object.inwareid[ls_row]
  182. s_pic.e_long = dw_pageretr.Object.u_inware_scid[ls_row]
  183. s_pic.sqltransaction = sys_filedb_sqlca
  184. OpenWithParm(w_fj_bill_view,s_pic)
  185. end event
  186. event ue_cpml_qty();//ue_cpml_qty
  187. string ls_rate,ls_status,ls_qty[]
  188. decimal ll_rate,ll_qty[],ld_qty = 1
  189. long i,j,k
  190. long ll_cmp1,ll_cmp2
  191. s_changerate s_rate
  192. dw_child.accepttext()
  193. if dw_edit_mode then
  194. open(w_changerate_ch)
  195. // ls_rate = message.stringparm
  196. // ll_rate = dec(ls_rate)
  197. s_rate = message.powerobjectparm
  198. ll_rate = dec(s_rate.rate)
  199. ll_cmp1 = s_rate.cmp1
  200. ll_cmp2 = s_rate.cmp2
  201. if ll_rate <= 0 then return
  202. if dw_child.rowcount() <= 0 then return
  203. for i= 1 to dw_child.rowcount()
  204. if ll_cmp1 = 1 then
  205. if isnull(dw_child.object.u_inwaremx_status[i]) then
  206. continue
  207. else
  208. ls_status = dw_child.object.u_inwaremx_status[i]
  209. end if
  210. elseif ll_cmp1 = 2 then
  211. if isnull(dw_child.object.u_inwaremx_woodcode[i]) then
  212. continue
  213. else
  214. ls_status = dw_child.object.u_inwaremx_woodcode[i]
  215. end if
  216. else
  217. if isnull(dw_child.object.u_inwaremx_pcode[i]) then
  218. continue
  219. else
  220. ls_status = dw_child.object.u_inwaremx_pcode[i]
  221. end if
  222. end if
  223. if ll_cmp2 = 1 then
  224. if dw_child.object.u_inwaremx_addqty[i] = 0 then
  225. else
  226. ls_status = ls_status + '*' + string(dw_child.object.u_inwaremx_addqty[i])
  227. end if
  228. end if
  229. if isnull(ls_status) then
  230. continue
  231. else
  232. // ls_status = dw_child.object.u_inwaremx_status[i]
  233. if pos(ls_status,'*') = 0 then
  234. continue
  235. else
  236. j = 0
  237. do while pos(ls_status,'*') > 0
  238. j++
  239. ls_qty[j] = mid(ls_status,1,pos(ls_status,'*') - 1)
  240. ls_status = mid(ls_status,pos(ls_status,'*') + 1)
  241. loop
  242. j++
  243. ls_qty[j] = ls_status
  244. end if
  245. ld_qty = 1
  246. for k =1 to j
  247. ld_qty = ld_qty * dec(ls_qty[k])
  248. next
  249. dw_child.object.u_inwaremx_uqty[i] = round(ld_qty / ll_rate,10)
  250. end if
  251. next
  252. end if
  253. end event
  254. event ue_cmpl_status_qty();Int ll_flag
  255. Decimal ll_value
  256. Long ll_num
  257. Long i,j,k
  258. String ls_mtrlmode
  259. String ls_status
  260. Decimal ld_qty
  261. Decimal ld_addqty
  262. String ls_msg
  263. Long ll_type
  264. s_cmpl_addqty s_cmpl
  265. dw_child.AcceptText()
  266. dw_uc.SetRedraw(FALSE)
  267. IF dw_edit_mode THEN
  268. Open(w_cmpl_status_qty_ch)
  269. s_cmpl = Message.PowerObjectParm
  270. ll_flag = s_cmpl.flag
  271. ll_value = s_cmpl.addvalue
  272. ll_num = s_cmpl.num
  273. ll_type = s_cmpl.cmptype
  274. IF ll_value <= 0 THEN RETURN
  275. IF dw_child.RowCount() <= 0 THEN RETURN
  276. FOR i = 1 TO dw_child.RowCount()
  277. ld_addqty = dw_child.Object.u_inwaremx_addqty[i]
  278. CHOOSE CASE ll_type
  279. CASE 0
  280. ls_status = dw_child.Object.u_inwaremx_status[i]
  281. CASE 1
  282. ls_status = dw_child.Object.u_inwaremx_woodcode[i]
  283. CASE 2
  284. ls_status = dw_child.Object.u_inwaremx_pcode[i]
  285. CASE 3
  286. ls_status = dw_child.Object.u_mtrldef_mtrlsectype[i]
  287. CASE 4
  288. ls_status = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  289. END CHOOSE
  290. IF ld_addqty = 0 OR ls_status = '' THEN
  291. ELSE
  292. ld_qty = 0
  293. IF f_cmpl_status_qty(ld_addqty,ls_status,ld_qty,ls_msg) = 0 THEN
  294. MessageBox('提示',ls_msg, Information!, OK! )
  295. GOTO ext
  296. END IF
  297. IF ll_flag = 0 THEN
  298. dw_child.Object.u_inwaremx_uqty[i] = Round(ld_qty * ll_value,ll_num)
  299. ELSE
  300. dw_child.Object.u_inwaremx_uqty[i] = Round(ld_qty / ll_value,ll_num)
  301. END IF
  302. END IF
  303. NEXT
  304. END IF
  305. ext:
  306. dw_uc.SetRedraw(TRUE)
  307. end event
  308. event ue_cmpl_qty();IF dw_child.GetRow() = 0 THEN RETURN
  309. Long child_row
  310. dw_child.AcceptText()
  311. child_row = dw_child.GetRow()
  312. s_cmpl_qty s_cmpl,s_return
  313. s_cmpl.qty = dw_child.Object.u_inwaremx_uqty[child_row]
  314. s_cmpl.formula = dw_child.Object.u_inwaremx_formula[child_row]
  315. s_cmpl.addqty = dw_child.Object.u_inwaremx_addqty[child_row]
  316. s_cmpl.price = dw_child.Object.u_inwaremx_uprice[child_row]
  317. s_cmpl.rebate = dw_child.Object.u_inwaremx_rebate[child_row]
  318. s_cmpl.status = dw_child.Object.u_inwaremx_status[child_row]
  319. s_cmpl.woodcode = dw_child.Object.u_inwaremx_woodcode[child_row]
  320. s_cmpl.pcode = dw_child.Object.u_inwaremx_pcode[child_row]
  321. s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[child_row]
  322. s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[child_row]
  323. IF NOT IsValid(w_cmpl_qty_ch) THEN
  324. OpenWithParm(w_cmpl_qty_ch,s_cmpl)
  325. s_return = Message.PowerObjectParm
  326. IF s_return.formula <> s_cmpl.formula or s_return.qty <> s_cmpl.qty THEN
  327. dw_child.Object.u_inwaremx_uqty[child_row] = s_return.qty
  328. dw_child.Object.u_inwaremx_formula[child_row] = s_return.formula
  329. END IF
  330. END IF
  331. end event
  332. event ue_p_cmpl_qty();IF dw_child.RowCount() = 0 THEN RETURN
  333. Long i
  334. String ls_formula
  335. String ls_msg
  336. String ls_rs
  337. String ls_num
  338. Decimal ld_addqty
  339. Decimal ld_price
  340. Decimal ld_rebate
  341. Decimal ld_qty
  342. dw_child.AcceptText()
  343. s_cmpl_qty s_cmpl
  344. Open(w_cmpl_qty_ch_son)
  345. s_cmpl = Message.PowerObjectParm
  346. dw_uc.SetRedraw(FALSE)
  347. FOR i = 1 TO dw_child.RowCount()
  348. ld_qty = 0
  349. IF dw_child.Object.u_inwaremx_formula[i] <> '' THEN
  350. s_cmpl.formula = dw_child.Object.u_inwaremx_formula[i]
  351. s_cmpl.addqty = dw_child.Object.u_inwaremx_addqty[i]
  352. s_cmpl.price = dw_child.Object.u_inwaremx_uprice[i]
  353. s_cmpl.rebate = dw_child.Object.u_inwaremx_rebate[i]
  354. s_cmpl.status = dw_child.Object.u_inwaremx_status[i]
  355. s_cmpl.woodcode = dw_child.Object.u_inwaremx_woodcode[i]
  356. s_cmpl.pcode = dw_child.Object.u_inwaremx_pcode[i]
  357. s_cmpl.mtrlsectype = dw_child.Object.u_mtrldef_mtrlsectype[i]
  358. s_cmpl.zxmtrlmode = dw_child.Object.u_mtrldef_zxmtrlmode[i]
  359. IF f_cmpl_qty(s_cmpl,ld_qty,ls_msg) = 0 THEN
  360. MessageBox('提示','第' + String(i) + '行,' + ls_msg, Information!, OK! )
  361. GOTO ext
  362. END IF
  363. dw_child.Object.u_inwaremx_uqty[i] = ld_qty
  364. END IF
  365. NEXT
  366. ext:
  367. dw_child.SetColumn('u_inwaremx_uqty')
  368. dw_uc.SetRedraw(TRUE)
  369. end event
  370. event ue_p_formula_set();IF NOT dw_edit_mode THEN RETURN
  371. IF MessageBox('提示','是否要确定要批设定公式', question!, YesNo!, 2) = 2 THEN
  372. RETURN
  373. END IF
  374. Long ll_i
  375. dw_child.AcceptText()
  376. dw_child.SetRedraw(FALSE)
  377. FOR ll_i = 1 TO dw_child.RowCount()
  378. IF ll_i = 1 THEN CONTINUE
  379. dw_child.Object.u_inwaremx_formula[ll_i] = dw_child.Object.u_inwaremx_formula[1]
  380. NEXT
  381. dw_child.SetRedraw(TRUE)
  382. end event
  383. public function integer wf_refresh_curuc (long arg_scid, long arg_inwareid);//====================================================================
  384. // Function: wf_refresh_curuc(arg_scid,arg_inwareid)
  385. //--------------------------------------------------------------------
  386. // Description: 刷新dw_pageretr
  387. //--------------------------------------------------------------------
  388. // Arguments:
  389. // value long arg_scid
  390. // value long arg_inwareid
  391. //--------------------------------------------------------------------
  392. // Returns: integer
  393. //--------------------------------------------------------------------
  394. // Author: yyx Date: 2003.11.14
  395. //--------------------------------------------------------------------
  396. // Modify History:
  397. //
  398. //====================================================================
  399. if arg_inwareid<=0 or isnull(arg_inwareid) then return 0
  400. long uc_row
  401. uc_row=dw_pageretr.getrow()
  402. if uc_row<=0 then return 0
  403. long storageid
  404. datetime indate
  405. string inrep
  406. string part
  407. string dscrp
  408. int balcflag
  409. string inwarecode
  410. string sptname
  411. string sptcode
  412. datetime opdate
  413. string opemp
  414. string modemp
  415. datetime moddate
  416. int li_flag
  417. datetime Auditingdate
  418. string Auditingrep
  419. int li_secflag
  420. datetime secAuditingdate
  421. string secAuditingrep
  422. string storagename
  423. int thflag
  424. int relint_1
  425. long sptid
  426. SELECT u_inware.storageid,
  427. u_inware.indate,
  428. u_inware.inrep,
  429. u_inware.part,
  430. u_inware.dscrp,
  431. u_inware.opdate,
  432. u_inware.opemp,
  433. u_inware.flag,
  434. u_inware.auditingdate,
  435. u_inware.auditingrep,
  436. u_inware.secflag,
  437. u_inware.secauditingdate,
  438. u_inware.secauditingrep,
  439. u_inware.inwarecode,
  440. u_inware.balcflag,
  441. u_spt.name,
  442. u_spt.sptcode,
  443. u_storage.storagename,
  444. u_inware.modemp,
  445. u_inware.moddate,
  446. u_inware.thflag,
  447. u_inware.relint_1,
  448. u_inware.sptid
  449. into
  450. :storageid,
  451. :indate,
  452. :inrep,
  453. :part,
  454. :dscrp,
  455. :opdate,
  456. :opemp,
  457. :li_flag,
  458. :Auditingdate,
  459. :Auditingrep,
  460. :li_secflag,
  461. :secAuditingdate,
  462. :secAuditingrep,
  463. :inwarecode,
  464. :balcflag,
  465. :sptname,
  466. :sptcode,
  467. :storagename,
  468. :modemp,
  469. :moddate,
  470. :thflag,
  471. :relint_1,
  472. :sptid
  473. FROM u_inware ,u_storage ,u_spt
  474. WHERE ( u_inware.inwareid = :arg_inwareid )
  475. and ( u_inware.storageid = u_storage.storageid )
  476. and (u_inware.sptid = u_spt.sptid)
  477. and ( u_inware.scid = :arg_scid );
  478. if sqlca.sqlcode<>0 then
  479. messagebox('提示',"查询操作失败(错误单据唯一码)", Information!, OK! )
  480. return 0
  481. end if
  482. dw_pageretr.object.u_inware_scid[uc_row]=arg_scid
  483. dw_pageretr.object.inwareid[uc_row]=arg_inwareid
  484. dw_pageretr.object.indate[uc_row]=indate
  485. dw_pageretr.object.part[uc_row]= part
  486. dw_pageretr.object.inrep[uc_row]= inrep
  487. dw_pageretr.object.storageid[uc_row]=storageid
  488. dw_pageretr.object.u_spt_name[uc_row]=sptname
  489. dw_pageretr.object.u_spt_sptcode[uc_row]=sptcode
  490. dw_pageretr.object.dscrp[uc_row]= dscrp
  491. dw_pageretr.object.balcflag[uc_row]= balcflag
  492. dw_pageretr.object.inwarecode[uc_row]=inwarecode
  493. dw_pageretr.object.opdate[uc_row]= opdate
  494. dw_pageretr.object.u_inware_opemp[uc_row]= opemp
  495. dw_pageretr.object.u_inware_moddate[uc_row]= moddate
  496. dw_pageretr.object.u_inware_modemp[uc_row]= modemp
  497. dw_pageretr.object.flag[uc_row]= li_flag
  498. dw_pageretr.object.Auditingdate[uc_row]= Auditingdate
  499. dw_pageretr.object.Auditingrep[uc_row]=Auditingrep
  500. dw_pageretr.object.u_inware_secflag[uc_row]= li_secflag
  501. dw_pageretr.object.u_inware_secauditingdate[uc_row]= secAuditingdate
  502. dw_pageretr.object.u_inware_secauditingrep[uc_row]=secAuditingrep
  503. dw_pageretr.object.u_storage_storagename[uc_row]=storagename
  504. dw_pageretr.object.u_inware_thflag[uc_row]=thflag
  505. dw_pageretr.object.u_inware_relint_1[uc_row]=relint_1
  506. dw_pageretr.object.sptid[uc_row]=sptid
  507. dw_uc.Reset()
  508. dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  509. dw_uc.ResetUpdate()
  510. dw_uc.SetRedraw(TRUE)
  511. wf_flagstatus_rf()
  512. return 1
  513. end function
  514. public function integer wf_flagstatus_rf ();//wf_flagstatus_rf()
  515. Long pagerert_row
  516. pagerert_row = dw_pageretr.GetRow()
  517. IF pagerert_row <= 0 THEN
  518. cb_auditing.Text = '审核&F'
  519. cb_auditing.Enabled = FALSE
  520. cb_auditing_cancel.Text = '撤审'
  521. cb_auditing_cancel.Enabled = FALSE
  522. flag = -1
  523. secflag = -1
  524. GOTO ext
  525. END IF
  526. flag = dw_pageretr.Object.flag[pagerert_row]
  527. IF dw_edit_mode THEN
  528. cb_auditing.Text = '仓审&F'
  529. cb_auditing.Enabled = FALSE
  530. IF cur_editfocus = 1 THEN
  531. flag = -1
  532. secflag = -1
  533. END IF
  534. cb_auditing_cancel.Enabled = FALSE
  535. ELSE
  536. IF flag = 0 THEN
  537. cb_auditing.Enabled = TRUE
  538. cb_auditing.Text = '仓审&F'
  539. cb_auditing_cancel.Enabled = FALSE
  540. ELSEIF flag = 1 THEN
  541. cb_auditing_cancel.Enabled = TRUE
  542. cb_auditing_cancel.Text = '仓撤'
  543. cb_auditing.Enabled = FALSE
  544. END IF
  545. END IF
  546. cb_auditing.TriggerEvent('ue_textchange')
  547. cb_auditing_cancel.TriggerEvent('ue_textchange')
  548. ext:
  549. RETURN 0
  550. end function
  551. public function integer wf_check_print (ref string arg_msg);long cnt
  552. int rslt = 1
  553. string ls_msg
  554. string str_dwSQl,str_SyntaxFromSQL
  555. datastore ds_maxid
  556. datetime ld_cur_dt
  557. ld_cur_dt = datetime(today(),time(0))
  558. if sys_option_mustprint = 0 then
  559. rslt = 1
  560. goto ext
  561. end if
  562. string ls_storagestr,tmp_str
  563. ls_storagestr = sys_user_storagestr
  564. if ls_storagestr <> '0' and ls_storagestr <> '-1' then
  565. ls_storagestr = mid(ls_storagestr,2)
  566. ls_storagestr = left(ls_storagestr,len(ls_storagestr) - 1 )
  567. end if
  568. ds_maxid= create datastore
  569. str_dwSQl="select count(*) as countnum from u_inware where indate < '" +string(ld_cur_dt,'yyyy-mm-dd hh:mm:ss')+ "' and billtype = 1 and flag = 0 and "
  570. if pos(ls_storagestr,',') > 0 or long(ls_storagestr) > 0 then
  571. tmp_str = '(' + 'storageid in (' + ls_storagestr + '))'
  572. else
  573. tmp_str = '(' + ls_storagestr + ' = 0 or storageid in (' + ls_storagestr + '))'
  574. end if
  575. str_dwSQl=str_dwSQl + tmp_str
  576. //messagebox("",str_dwSQl)
  577. str_SyntaxFromSQL =sqlca.SyntaxFromSQL(str_dwSQl,"style(type=grid)",ls_msg)
  578. if ls_msg>'' then
  579. arg_msg="dw语法生成失败"
  580. rslt = 0
  581. goto ext
  582. end if
  583. ds_maxid.Create(str_SyntaxFromSQL,ls_msg)
  584. if ls_msg>'' then
  585. arg_msg="建立相关DW失败"
  586. rslt=0
  587. goto ext
  588. end if
  589. ds_maxid.settransobject(sqlca)
  590. ds_maxid.retrieve()
  591. cnt=ds_maxid.GetItemNumber(1,1)
  592. if isnull(cnt) then cnt = 0
  593. destroy ds_maxid
  594. if cnt > 0 then
  595. arg_msg = '仓库还有收货单未打印,不能新建'
  596. rslt = 0
  597. goto ext
  598. end if
  599. ext:
  600. return rslt
  601. end function
  602. public subroutine wf_check_billfj ();String arg_msg
  603. Long ll_ConnectionID
  604. Long cur_billtype
  605. long ll_relid,ll_relid_mx,ll_scid
  606. Long ls_filecount = 0
  607. Int rslt = 1
  608. uo_fj_mng_billtype ls_uo_fjbt
  609. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  610. Long row,uc_relid
  611. row = dw_pageretr.GetRow()
  612. IF row > 0 THEN
  613. ll_relid = dw_pageretr.Object.inwareid[row]
  614. ll_scid = dw_pageretr.Object.u_inware_scid[row]
  615. ll_relid_mx = 0
  616. ELSE
  617. rslt = 0
  618. GOTO ext
  619. END IF
  620. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  621. rslt = 0
  622. GOTO ext
  623. END IF
  624. cur_billtype = 420 //客户投拆单的 mainiD
  625. ls_uo_fjbt.uf_check_billfj( cur_billtype, ll_relid,ll_relid_mx,ll_scid, sys_fileDB_sqlca, arg_msg, ls_filecount)
  626. IF ls_filecount > 0 THEN
  627. rslt = 1
  628. GOTO ext
  629. ELSE
  630. rslt = 0
  631. GOTO ext
  632. END IF
  633. ext:
  634. wf_encl(rslt)
  635. DESTROY ls_uo_fjbt
  636. end subroutine
  637. public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg);//==============================================================================
  638. // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata()
  639. //------------------------------------------------------------------------------
  640. // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可
  641. //------------------------------------------------------------------------------
  642. Long LS_ROW,ll_id,i,ll_scid
  643. LS_ROW = dw_uc.GetRow()
  644. IF LS_ROW <= 0 THEN
  645. arg_msg = '没有目标单据!'
  646. RETURN 0
  647. END IF
  648. //修改点:获取 指定retriev参数
  649. ll_id = dw_uc.Object.#1[LS_ROW]
  650. ll_scid = dw_uc.Object.u_inware_scid[LS_ROW]
  651. //查询所选模版是否含有图片信息
  652. Long ll_ifpic
  653. Long ll_classid
  654. SELECT ifpic
  655. INTO :ll_ifpic
  656. FROM U_XLS_Templates
  657. Where id = :ll_xls_Templatesid;
  658. IF sqlca.SQLCode <> 0 THEN
  659. ll_ifpic = 0
  660. END IF
  661. Long ll_i,ll_j
  662. Long ll_mtrlid
  663. Long ll_fileid
  664. Blob ls_filedata
  665. SetNull(ls_filedata)
  666. String Pathname,ls_filename,ls_filetype
  667. String errmsg
  668. uo_fj_mng_billtype ls_uo_fjbt
  669. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  670. s_xls_pic_list s_pic //结构数组-用于保存图片路径
  671. IF ll_ifpic = 1 THEN //如果含有图片信息,则查询本类型单据需要带出哪类附件
  672. SELECT classid
  673. INTO :ll_classid
  674. FROM u_billpic_fileclass
  675. Where (billtype = 420);
  676. IF sqlca.SQLCode <> 0 THEN
  677. ll_classid = 0
  678. END IF
  679. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  680. FOR ll_i = 1 TO dw_child.RowCount()
  681. ll_mtrlid = dw_child.Object.u_inwaremx_mtrlid[ll_i]
  682. //取该附件类型中的第一个附件.
  683. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  684. FROM u_file
  685. WHERE relid = :ll_mtrlid
  686. AND classid = :ll_classid
  687. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  688. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  689. USING sys_fileDB_sqlca;
  690. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  691. ll_fileid = 0
  692. END IF
  693. IF ll_fileid > 0 THEN
  694. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  695. IF Trim(Pathname) <> '' THEN
  696. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  697. RETURN 0
  698. END IF
  699. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  700. RETURN 0
  701. ELSE
  702. s_pic.path[ll_i] = Pathname
  703. //记录临时文件位置,本窗口退出后删除
  704. wf_addlog_tempfilepathname(Pathname)
  705. END IF
  706. ELSE
  707. s_pic.path[ll_i] = ''
  708. END IF
  709. ELSE
  710. s_pic.path[ll_i] = ''
  711. END IF
  712. NEXT
  713. END IF
  714. //
  715. END IF
  716. ////可选设置///
  717. arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
  718. if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
  719. boolean xls_locked
  720. xls_locked = not (sys_option_xls_lock = 1)
  721. /// Excel 的可选设置
  722. if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then
  723. return 0
  724. end if
  725. for i = 1 to arg_str_billlist.count
  726. ////可选操作///
  727. arg_str_billlist.bill[i].ds_data = create datastore //
  728. arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow //
  729. arg_str_billlist.bill[i].ds_data.settransobject(sqlca)
  730. //修改点:注意retrieve 参数与上文对应
  731. arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id)
  732. next
  733. return 1
  734. end function
  735. public function integer wf_print_retrievedata (ref s_print_pic_list arg_s_pic, ref string arg_msg);
  736. Long LS_ROW,ll_id,i,ll_scid
  737. LS_ROW = dw_pageretr.GetRow()
  738. IF LS_ROW <= 0 THEN
  739. arg_msg = '没有目标单据!'
  740. RETURN 0
  741. END IF
  742. //修改点:获取 指定retriev参数
  743. ll_id = dw_pageretr.Object.#1[LS_ROW]
  744. ll_scid = dw_pageretr.Object.u_inware_scid[LS_ROW]
  745. Long ll_i,ll_j
  746. Long ll_mtrlid
  747. Long ll_fileid
  748. Blob ls_filedata
  749. SetNull(ls_filedata)
  750. String Pathname,ls_filename,ls_filetype
  751. String errmsg
  752. uo_fj_mng_billtype ls_uo_fjbt
  753. ls_uo_fjbt = CREATE uo_fj_mng_billtype
  754. Long ll_classid
  755. SELECT classid
  756. INTO :ll_classid
  757. FROM u_billpic_fileclass
  758. Where (billtype = 102);
  759. IF sqlca.SQLCode <> 0 THEN
  760. ll_classid = 0
  761. END IF
  762. IF ll_classid > 0 THEN //如果已经指定好附件类型,则循环明细表查询每个明细的图片信息.
  763. FOR ll_i = 1 TO dw_child.RowCount()
  764. ll_mtrlid = dw_child.Object.u_inwaremx_mtrlid[ll_i]
  765. arg_s_pic.mtrlid[ll_i] = ll_mtrlid
  766. //取该附件类型中的第一个附件.
  767. SELECT top 1 fileid,DisplayName,FileType INTO :ll_fileid,:ls_filename,:ls_filetype
  768. FROM u_file
  769. WHERE relid = :ll_mtrlid
  770. AND classid = :ll_classid
  771. AND (filetype = 'bmp' OR filetype = 'rle' OR filetype = 'wmf'
  772. OR filetype = 'tif' OR filetype = 'jpg' OR filetype = 'gif' OR filetype = 'jpeg')
  773. USING sys_fileDB_sqlca;
  774. IF sys_fileDB_sqlca.SQLCode <> 0 THEN
  775. ll_fileid = 0
  776. END IF
  777. IF ll_fileid > 0 THEN
  778. Pathname = sys_cur_path+ins_fjtemppath+'\'+String(Today(),'yymmdd')+String(Now(),'hhmmss')+'_'+ls_filename+'.'+ls_filetype
  779. IF Trim(Pathname) <> '' THEN
  780. IF ls_uo_fjbt.uf_getfjbolb_fromdb( ll_fileid, ls_filedata, sys_fileDB_sqlca, arg_msg) = 0 THEN
  781. RETURN 0
  782. END IF
  783. IF f_saveblobtofile(ls_filedata,Pathname,errmsg) = 0 THEN
  784. RETURN 0
  785. ELSE
  786. arg_s_pic.path[ll_i] = Pathname
  787. //记录临时文件位置,本窗口退出后删除
  788. wf_addlog_tempfilepathname(Pathname)
  789. END IF
  790. ELSE
  791. arg_s_pic.path[ll_i] = ''
  792. END IF
  793. ELSE
  794. arg_s_pic.path[ll_i] = ''
  795. END IF
  796. NEXT
  797. END IF
  798. RETURN 1
  799. end function
  800. on w_inware_buy_th_wareaudit.create
  801. int iCurrent
  802. call super::create
  803. this.ddlb_scid=create ddlb_scid
  804. this.cbx_his=create cbx_his
  805. this.st_3=create st_3
  806. this.st_2=create st_2
  807. this.ddlb_status=create ddlb_status
  808. iCurrent=UpperBound(this.Control)
  809. this.Control[iCurrent+1]=this.ddlb_scid
  810. this.Control[iCurrent+2]=this.cbx_his
  811. this.Control[iCurrent+3]=this.st_3
  812. this.Control[iCurrent+4]=this.st_2
  813. this.Control[iCurrent+5]=this.ddlb_status
  814. end on
  815. on w_inware_buy_th_wareaudit.destroy
  816. call super::destroy
  817. destroy(this.ddlb_scid)
  818. destroy(this.cbx_his)
  819. destroy(this.st_3)
  820. destroy(this.st_2)
  821. destroy(this.ddlb_status)
  822. end on
  823. event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled
  824. Boolean cb_func_enabled,cb_retrieve_enabled
  825. cb_nextpage_enabled = cb_nextpage.Enabled
  826. cb_retrieveall_enabled = cb_retrieveall.Enabled
  827. cb_func_enabled = cb_func.Enabled
  828. cb_nextpage.Enabled = FALSE
  829. cb_retrieveall.Enabled = FALSE
  830. cb_func.Enabled = FALSE
  831. //只显未自已管的仓库
  832. datawindowchild childdw
  833. string new_sqlstr,modify_str
  834. dw_uc.SetTransObject (sqlca)
  835. dw_uc.getchild("storageid",childdw)
  836. childdw.SetTransObject (sqlca)
  837. new_sqlstr=childdw.Describe("DataWindow.Table.Select")
  838. if len(ol_cdw_str) = 0 then ol_cdw_str = new_sqlstr
  839. new_sqlstr=f_modify_selectstr(ol_cdw_str)
  840. modify_str="DataWindow.Table.Select='" + new_sqlstr +"'"
  841. childdw.modify ( modify_str )
  842. if childdw.retrieve(cur_scid) = 0 then
  843. childdw.InsertRow(0)
  844. END IF
  845. //childdw.retrieve()
  846. dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数
  847. dw_pageretr.retrieve(cur_scid,cur_flag ,sys_user_spttype)
  848. IF dw_pageretr.RowCount() > 0 THEN
  849. dw_pageretr.SetRow(1)
  850. dw_pageretr.triggerevent(rowfocuschanged!)
  851. end if
  852. this.triggerevent('retrieve_childdw')
  853. cb_nextpage.Enabled = cb_nextpage_enabled
  854. cb_retrieveall.Enabled = cb_retrieveall_enabled
  855. cb_func.Enabled = cb_func_enabled
  856. end event
  857. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  858. if trim(sle_usual_query.text)<>'' then
  859. IF POS(trim(sle_usual_query.text),'%')=0 THEN
  860. obj_expr=obj_expr+'( inwarecode LIKE "%'+trim(sle_usual_query.text)+'%" )'
  861. ELSE
  862. obj_expr=obj_expr+'( inwarecode LIKE "'+trim(sle_usual_query.text)+'" )'
  863. END IF
  864. end if
  865. dw_pageretr.setfilter(obj_expr)
  866. dw_pageretr.SetRedraw(False)
  867. dw_pageretr.filter()
  868. if dw_pageretr.rowcount()>=1 then
  869. dw_pageretr.selectrow(0,false)
  870. dw_pageretr.selectrow(1,true)
  871. dw_pageretr.SetRow(1)
  872. dw_pageretr.triggerevent(rowfocuschanged!)
  873. end if
  874. dw_pageretr.SetRedraw(TRUE)
  875. end event
  876. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  877. ls_newselect=lower(ori_oldselect)
  878. if trim(sle_usual_query.text)<>'' then
  879. if pos(trim(sle_usual_query.text),'%')=0 then
  880. ls_querystrpart="(u_inware.inwarecode like '%"+trim(sle_usual_query.text)+"%')"
  881. else
  882. ls_querystrpart="(u_inware.inwarecode like '"+trim(sle_usual_query.text)+"')"
  883. end if
  884. if Pos(ls_newselect," where ") <> 0 then
  885. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  886. else
  887. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  888. end if
  889. end if
  890. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  891. this.triggerevent('retrieve_pageretr')
  892. end event
  893. event open;this.triggerevent('ue_before_open')
  894. wf_movetocenter()
  895. OLD_TITLE=THIS.TITLE
  896. s_tran=Message.PowerObjectParm
  897. IF not ISNULL(s_tran) then
  898. retrieve_all=s_tran.if_retrieve_all
  899. mode=s_tran.work_mode
  900. arg_pkid=s_tran.arg_pkid
  901. arg_string_code=s_tran.arg_string_code
  902. if_sharedata=s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
  903. ds_share=s_tran.ds_share
  904. end if
  905. dw_pageretr.RBUTTON_FILTER_USE=true //右键查询功能开关
  906. dw_pageretr.titleclick_sort_use=true //单击标题排序功能开关
  907. dw_pageretr.SetTransObject (sqlca)
  908. pkcolumndbtname=wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
  909. ori_oldselect=dw_pageretr.Describe("DataWindow.Table.Select")
  910. //====================================================================
  911. // Script - w_inware_buy inherited from w_publ_1ton_share_detail for open
  912. // Reason:
  913. //--------------------------------------------------------------------
  914. // Modified By: yyx Date: 2003.12.01
  915. //--------------------------------------------------------------------
  916. ori_oldselect=f_modify_selectstr(ori_oldselect)//只显示所管的仓库单据
  917. //====================================================================
  918. ls_newselect=ori_oldselect
  919. ds_curquery=CREATE DATASTORE
  920. ds_curquery.DATAOBJECT='d_extr_find'
  921. ds_curquery.SetTransObject (sqlca)
  922. wf_editindex_lockf()
  923. sle_usual_query.text=trim(arg_string_code)
  924. if NOT retrieve_all then
  925. THIS.TRIGGEREVENT("ue_usual_query_RETR") //修改ls_newselect,retrieve
  926. else
  927. if if_sharedata then
  928. ds_share.sharedata(dw_pageretr)
  929. else
  930. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  931. this.TRIGGEREVENT('RETRIEVE_pageretr')
  932. end if
  933. end if
  934. IF retrieve_all THEN
  935. THIS.TRIGGEREVENT("ue_usual_query_filt")
  936. END IF
  937. uc_column_int=9 //uc dw前7列可以编辑
  938. child_column_int=18 //子dw前8列可以编辑
  939. uo_ware=create uo_inware_buy
  940. uo_ware.commit_transaction=sqlca
  941. uo_sptprice = create uo_spt_price
  942. s_hide_col s_col
  943. s_col.col_1 = 'u_inwaremx_fprice'
  944. s_col.col_2 = 'u_inwaremx_rebate'
  945. s_col.col_3 = 'u_inwaremx_price'
  946. s_col.col_4 = 'amt'
  947. s_col.col_5 = 'u_inwaremx_uprice'
  948. if sys_option_buy_rateedit=1 then
  949. dw_child.Modify ("u_inwaremx_rate_t.color=16711680")
  950. dw_child.Modify ("u_inwaremx_rate.color=16711680")
  951. dw_child.Modify ("u_inwaremx_rate.protect=0")
  952. child_column_int++
  953. else
  954. dw_child.Modify ("u_inwaremx_rate.protect=1")
  955. end if
  956. f_hide_col(121,dw_child,s_col)
  957. s_hide_col s_col_mtrlsectype
  958. s_col_mtrlsectype.col_1 = 'u_mtrldef_mtrlsectype'
  959. f_hide_col(1308,dw_child,s_col_mtrlsectype)
  960. s_hide_col s_col_zxmtrlmode
  961. s_col_zxmtrlmode.col_1 = 'u_mtrldef_zxmtrlmode'
  962. f_hide_col(1309,dw_child,s_col_zxmtrlmode)
  963. end event
  964. event refresh_interface;call super::refresh_interface;wf_flagstatus_rf()
  965. ddlb_status.Enabled = NOT dw_edit_mode
  966. IF dw_edit_mode THEN
  967. ddlb_scid.Enabled = FALSE
  968. ELSE
  969. IF sys_scid > 0 THEN
  970. ddlb_scid.Enabled = FALSE
  971. ELSE
  972. ddlb_scid.Enabled = TRUE
  973. END IF
  974. END IF
  975. IF dw_edit_mode THEN
  976. IF flag = 1 AND secflag = 0 THEN
  977. dw_uc.Modify('storageid.protect=1 ~n u_spt_sptcode.protect=1')
  978. dw_child.Modify('u_mtrldef_mtrlcode.protect=1 ~n u_inwaremx_uqty.protect=1 ~n u_inwaremx_status.protect=1 ~n u_inwaremx_woodcode.protect=1 ~n u_inwaremx_pcode.protect=1 ~n u_inwaremx_addqty.protect=1 ~n u_inwaremx_unit.protect=1 ~n u_inwaremx_plancode.protect=1')
  979. cb_xm.Enabled = FALSE
  980. ELSE
  981. dw_uc.Modify('storageid.protect=0 ~n u_spt_sptcode.protect=0')
  982. // dw_child.Modify('u_mtrldef_mtrlcode.protect=0 ~n u_inwaremx_uqty.protect=0 ~n u_inwaremx_status.protect=0 ~n u_inwaremx_woodcode.protect=0 ~n u_inwaremx_pcode.protect=0 ~n u_inwaremx_addqty.protect=0 ~n u_inwaremx_unit.protect=0 ~n u_inwaremx_plancode.protect=0')
  983. dw_child.Modify('u_mtrldef_mtrlcode.protect=0 ~n u_inwaremx_uqty.protect=0 ~n u_inwaremx_status.protect=0 ~n u_inwaremx_woodcode.protect=0 ~n u_inwaremx_pcode.protect=0 ~n u_inwaremx_addqty.protect=0 ~n u_inwaremx_unit.protect=0 ')
  984. cb_xm.Enabled = TRUE
  985. END IF
  986. ELSE
  987. dw_uc.Modify('storageid.protect=0 ~n u_spt_sptcode.protect=0')
  988. dw_child.Modify('u_mtrldef_mtrlcode.protect=0 ~n u_inwaremx_uqty.protect=0 ~n u_inwaremx_status.protect=0 ~n u_inwaremx_woodcode.protect=0 ~n u_inwaremx_pcode.protect=0 ~n u_inwaremx_addqty.protect=0 ~n u_inwaremx_unit.protect=0 ~n u_inwaremx_plancode.protect=0')
  989. END IF
  990. end event
  991. event close;call super::close;destroy uo_ware
  992. destroy uo_sptprice
  993. wf_del_tempfilepathname()
  994. end event
  995. event ue_f8;call super::ue_f8;//用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用
  996. IF NOT dw_edit_mode THEN RETURN
  997. Long child_row,ls_null
  998. Long ins_storageid = 0
  999. Long ls_sptid
  1000. Dec ls_lastprice,ls_rebate
  1001. Long chc = 1,ls_j
  1002. String ls_sptmtrlname
  1003. Int li_statusflag,li_woodcodeflag,li_pcodeflag
  1004. s_mtrldef_array arg_s_mtrldef
  1005. SetNull(ls_null)
  1006. s_edit_index_tran s_tranf8
  1007. s_tranf8.if_retrieve_all = FALSE
  1008. s_tranf8.arg_pkid = 0
  1009. s_tranf8.arg_string_code = ''
  1010. s_tranf8.b_long = 2
  1011. ins_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  1012. IF ins_storageid = 0 OR IsNull(ins_storageid) THEN
  1013. MessageBox('提示','请先选择仓库', Information!, OK! )
  1014. RETURN
  1015. END IF
  1016. child_row = dw_child.GetRow()
  1017. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  1018. IF IsNull(ls_sptid) OR ls_sptid = 0 THEN
  1019. THIS.TriggerEvent("ue_f9")
  1020. END IF
  1021. dw_uc.AcceptText()
  1022. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  1023. //----------------------------------------------------退货
  1024. IF cbx_his.Checked THEN
  1025. s_tranf8.b_long = cur_scid
  1026. s_tranf8.d_long = ls_sptid
  1027. s_tranf8.c_long = ins_storageid
  1028. IF NOT IsValid(w_inware_tbuy_ch) THEN
  1029. OpenWithParm(w_inware_tbuy_ch,s_tranf8) //调用
  1030. s_inware_tbuy_array s_inscust2
  1031. String ls_findstr
  1032. s_inscust2 = Message.PowerObjectParm //接受返回结构
  1033. FOR ls_j = 1 TO UpperBound(s_inscust2.mtrlid)
  1034. IF s_inscust2.inwareid[ls_j] > 0 THEN
  1035. ls_findstr = ''
  1036. ls_findstr = 'u_inwaremx_mtrlid='+String(s_inscust2.mtrlid[ls_j])+' and u_inwaremx_uprice='+String(s_inscust2.fprice[ls_j])+' and u_inwaremx_rebate='+String(s_inscust2.rebate[ls_j])+" and u_inwaremx_plancode='"+String(s_inscust2.plancode[ls_j])+"'"
  1037. IF dw_child.Find(ls_findstr,1,dw_child.RowCount()) = 0 THEN
  1038. IF dw_child.GetRow() > 0 THEN
  1039. IF dw_child.Object.u_inwaremx_mtrlid[child_row] <> 0 THEN
  1040. child_row = dw_child.InsertRow (0)
  1041. ELSE
  1042. child_row = dw_child.GetRow()
  1043. END IF
  1044. ELSE
  1045. child_row = dw_child.InsertRow (0)
  1046. END IF
  1047. dw_child.Object.u_inwaremx_mtrlid[child_row] = s_inscust2.mtrlid[ls_j]
  1048. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust2.mtrlcode[ls_j]
  1049. dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust2.mtrlname[ls_j]
  1050. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust2.mtrlmode[ls_j]
  1051. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust2.unit[ls_j]
  1052. dw_child.Object.u_inwaremx_unit[child_row] = s_inscust2.mxunit[ls_j]
  1053. dw_child.Object.u_inwaremx_rate[child_row] = s_inscust2.rate[ls_j]
  1054. dw_child.Object.u_inwaremx_uqty[child_row] = s_inscust2.uqty[ls_j]
  1055. dw_child.Object.u_inwaremx_addqty[child_row] = s_inscust2.addqty[ls_j]
  1056. dw_child.Object.u_inwaremx_uprice[child_row] = s_inscust2.uprice[ls_j]
  1057. dw_child.Object.u_inwaremx_fprice[child_row] = s_inscust2.fprice[ls_j]
  1058. dw_child.Object.u_inwaremx_rebate[child_row] = s_inscust2.rebate[ls_j]
  1059. dw_child.Object.u_inwaremx_plancode[child_row] = s_inscust2.plancode[ls_j]
  1060. dw_child.Object.u_inwaremx_status[child_row] = s_inscust2.status[ls_j]
  1061. dw_child.Object.u_inwaremx_woodcode[child_row] = s_inscust2.woodcode[ls_j]
  1062. dw_child.Object.u_inwaremx_pcode[child_row] = s_inscust2.pcode[ls_j]
  1063. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust2.zxmtrlmode[ls_j]
  1064. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust2.mtrlsectype[ls_j]
  1065. dw_child.Object.u_inwaremx_sptmtrlname[child_row] = s_inscust2.sptmtrlname[ls_j]
  1066. dw_child.Object.u_inwaremx_mxdscrp[child_row] = '相关收货单:'+s_inscust2.inwarecode[ls_j]
  1067. IF f_find_mtrl(s_inscust2.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN
  1068. li_statusflag = 0
  1069. li_woodcodeflag = 0
  1070. li_pcodeflag = 0
  1071. ELSE
  1072. li_statusflag = arg_s_mtrldef.statusflag[1]
  1073. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  1074. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  1075. END IF
  1076. dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  1077. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  1078. dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  1079. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1080. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1081. END IF
  1082. END IF
  1083. NEXT
  1084. this.triggerevent('ue_allowedit')
  1085. END IF
  1086. ELSE
  1087. IF NOT IsValid(w_mtrldef_edit) THEN
  1088. s_edit_index_tran s_ch_tran
  1089. s_ch_tran.if_retrieve_all = FALSE
  1090. s_ch_tran.work_mode = 1
  1091. s_ch_tran.arg_pkid = 0
  1092. s_ch_tran.arg_string_code = ''
  1093. s_ch_tran.b_long = 2
  1094. s_ch_tran.c_long = ins_storageid
  1095. s_ch_tran.if_select_all = TRUE
  1096. dw_child.AcceptText()
  1097. IF dw_child.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
  1098. OpenWithParm(w_mtrldef_edit,s_ch_tran) //调用
  1099. s_mtrldef_array s_inscust
  1100. s_inscust = Message.PowerObjectParm //接受返回结构
  1101. FOR ls_j = 1 TO UpperBound(s_inscust.mtrlid)
  1102. IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
  1103. IF dw_child.GetRow() > 0 THEN
  1104. IF dw_child.Object.u_inwaremx_mtrlid[child_row] <> 0 THEN
  1105. child_row = dw_child.InsertRow (0)
  1106. ELSE
  1107. child_row = dw_child.GetRow()
  1108. END IF
  1109. ELSE
  1110. child_row = dw_child.InsertRow (0)
  1111. END IF
  1112. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  1113. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
  1114. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = s_inscust.zxmtrlmode[ls_j]
  1115. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = s_inscust.mtrlsectype[ls_j]
  1116. dw_child.Object.u_inwaremx_mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  1117. dw_child.Object.u_mtrldef_statusflag[child_row] = s_inscust.statusflag[ls_j]
  1118. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = s_inscust.woodcodeflag[ls_j]
  1119. dw_child.Object.u_mtrldef_pcodeflag[child_row] = s_inscust.pcodeflag[ls_j]
  1120. Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
  1121. String arg_msg,ls_status,ls_woodcode,ls_pcode
  1122. String ls_1stunit
  1123. ls_1stunit = '' //dw_child.Object.u_inwaremx_unit[child_row]
  1124. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  1125. ls_status = dw_child.Object.u_inwaremx_status[child_row]
  1126. ls_woodcode = dw_child.Object.u_inwaremx_woodcode[child_row]
  1127. ls_pcode = dw_child.Object.u_inwaremx_pcode[child_row]
  1128. IF cur_editfocus = 1 THEN
  1129. IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,s_inscust.mtrlid[ls_j],ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN
  1130. IF s_inscust.planprice[ls_j] = 0 THEN
  1131. dw_child.Object.u_inwaremx_uprice[child_row] = s_inscust.lmbuyprice[ls_j]
  1132. ELSE
  1133. dw_child.Object.u_inwaremx_uprice[child_row] = s_inscust.planprice[ls_j]
  1134. END IF
  1135. dw_child.Object.u_inwaremx_rebate[child_row] = 1
  1136. IF s_inscust.unit_buy[ls_j] = '' THEN
  1137. dw_child.Object.u_inwaremx_rate[child_row] = 1
  1138. dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit[ls_j]
  1139. ELSE
  1140. dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate_buy[ls_j]
  1141. dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit_buy[ls_j]
  1142. END IF
  1143. ELSE
  1144. dw_child.Object.u_inwaremx_uprice[child_row] = ls_1stnewcost
  1145. dw_child.Object.u_inwaremx_rebate[child_row] = ls_1stzqrate
  1146. dw_child.Object.u_inwaremx_rate[child_row] = ls_1strate
  1147. dw_child.Object.u_inwaremx_unit[child_row] = ls_1stunit
  1148. END IF
  1149. ELSE
  1150. IF dw_child.Object.u_inwaremx_unit[child_row] = '' THEN
  1151. IF s_inscust.unit_buy[ls_j] = '' THEN
  1152. dw_child.Object.u_inwaremx_rate[child_row] = 1
  1153. dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit[ls_j]
  1154. ELSE
  1155. dw_child.Object.u_inwaremx_rate[child_row] = s_inscust.rate_buy[ls_j]
  1156. dw_child.Object.u_inwaremx_unit[child_row] = s_inscust.unit_buy[ls_j]
  1157. END IF
  1158. END IF
  1159. END IF
  1160. dw_child.AcceptText( )
  1161. IF uo_sptprice.uf_getmtrlname(ls_sptid,s_inscust.mtrlid[ls_j],ls_sptmtrlname,arg_msg) = 1 THEN
  1162. dw_child.Object.u_inwaremx_sptmtrlname[child_row] = ls_sptmtrlname
  1163. END IF
  1164. dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  1165. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  1166. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1167. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1168. END IF
  1169. NEXT
  1170. this.triggerevent('ue_allowedit')
  1171. END IF
  1172. END IF
  1173. dw_child.SetRedraw(TRUE)
  1174. dw_child.SetFocus()
  1175. end event
  1176. event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid,ll_scid
  1177. row = dw_pageretr.GetRow()
  1178. IF row > 0 THEN
  1179. ll_scid=dw_pageretr.Object.u_inware_scid[row]
  1180. uc_relid = dw_pageretr.Object.inwareid[row]
  1181. dw_child.SetRedraw (FALSE)
  1182. dw_child.Retrieve(ll_scid,uc_relid)
  1183. dw_child.SetRedraw (TRUE)
  1184. ELSE
  1185. dw_child.Reset()
  1186. END IF
  1187. end event
  1188. event ue_f9;call super::ue_f9;//用于选择明细内容,被F9[默认]
  1189. if not dw_edit_mode then return
  1190. long uc_row
  1191. uc_row=dw_pageretr.getrow()
  1192. if uc_row=0 then
  1193. messagebox('提示','请选定单据!', Information!, OK! )
  1194. return
  1195. end if
  1196. dw_uc.accepttext()
  1197. if not isvalid(W_spt_edit) then
  1198. s_edit_index_tran s_ch_tran //传递参数使用
  1199. s_ch_tran.if_retrieve_all=false //是否一次RETRIEVE所有行
  1200. s_ch_tran.work_mode=1 //0-单纯编辑模式 1-选择\编辑模式
  1201. s_ch_tran.arg_pkid=0 //目标定位PKID (备用)
  1202. //查询列(物料编码)部分内容,用于初步筛选
  1203. s_ch_tran.arg_string_code=upper(trim(dw_uc.object.u_spt_sptcode[dw_uc.getrow()]))
  1204. IF sys_spt_hideinfo = 0 THEN
  1205. OPENwithparm(W_spt_edit,s_ch_tran) //调用
  1206. ELSE
  1207. OPENwithparm(W_spt_ch,s_ch_tran) //调用
  1208. END IF
  1209. S_spt S_INSCUST
  1210. S_INSCUST=Message.PowerObjectParm //接受返回结构
  1211. IF S_INSCUST.sptid>0 THEN //正常返回值则可以取以下值
  1212. dw_uc.setredraw(false)
  1213. dw_uc.object.sptid[uc_row]=S_INSCUST.sptid
  1214. dw_uc.object.u_spt_name[uc_row]=S_INSCUST.name
  1215. dw_uc.object.u_spt_sptcode[uc_row]=S_INSCUST.sptcode
  1216. dw_uc.setredraw(true)
  1217. dw_uc.setcolumn("indate")
  1218. END IF
  1219. end if
  1220. end event
  1221. event ue_viewprint;call super::ue_viewprint;IF NOT (f_power_ind(545) or f_power_ind(549) OR f_power_ind(1318)) THEN
  1222. MessageBox('提示','你没有使用权限!', Information!, OK! )
  1223. RETURN
  1224. END IF
  1225. LONG LS_ROW
  1226. LS_ROW=dw_pageretr.getrow()
  1227. IF LS_ROW<=0 THEN
  1228. MESSAGEBOX('错误','没有打印目标单据!', StopSign!, OK! )
  1229. RETURN
  1230. END IF
  1231. if sys_option_auditprint = 1 then
  1232. if dw_pageretr.object.flag[ls_row] <> 1 then
  1233. MESSAGEBOX('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
  1234. RETURN
  1235. END IF
  1236. end if
  1237. S_print_MSG LS_PRMSG
  1238. IF ls_newname <> '' THEN
  1239. IF li_auditprint = 1 THEN
  1240. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  1241. MessageBox('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
  1242. RETURN
  1243. END IF
  1244. END IF
  1245. ls_prmsg.obj_dwNAME = ls_newname
  1246. ELSE
  1247. ls_prmsg.obj_dwNAME = 'dw_rp_inware_buy_edit_th_audit'
  1248. END IF
  1249. LS_PRMSG.TAG_TEXT='采购收货单'
  1250. LS_PRMSG.FILTER_STRING = ''
  1251. LS_PRMSG.retr_pram_falg=15
  1252. LS_PRMSG.PAGECH_FLAG=0
  1253. LS_PRMSG.retr_scid=cur_scid
  1254. LS_PRMSG.retr_pramnmb=dw_pageretr.object.inwareid[LS_ROW]
  1255. ls_prmsg.rowcnt=dw_child.rowcount()
  1256. IF ifpic = 1 THEN
  1257. String ls_msg
  1258. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  1259. MessageBox('提示','下载图片失败!',information!,OK!)
  1260. RETURN
  1261. END IF
  1262. END IF
  1263. Openwithparm(w_publ_preview,LS_PRMSG)
  1264. IF ifpic = 1 THEN
  1265. Long li
  1266. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  1267. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  1268. FileDelete(LS_PRMSG.s_pic.path[li])
  1269. END IF
  1270. NEXT
  1271. END IF
  1272. //**更新打印次料
  1273. string arg_msg
  1274. printnum = message.doubleparm
  1275. f_update_printnum('u_inware',printnum,cur_scid,dw_pageretr.object.inwareid[LS_ROW],'','',arg_msg,true)
  1276. end event
  1277. event ue_print;call super::ue_print;IF NOT (f_power_ind(545) or f_power_ind(549) OR f_power_ind(1318) ) THEN
  1278. MessageBox('提示','你没有使用权限!', Information!, OK! )
  1279. RETURN
  1280. END IF
  1281. //--直接打印
  1282. uo_print_preview uo_print
  1283. S_print_MSG LS_PRMSG
  1284. if dw_pageretr.rowcount()=0 then
  1285. Messagebox('提示','没有可打印的单据!', Information!, OK! )
  1286. return
  1287. end if
  1288. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1289. if sys_option_auditprint = 1 then
  1290. if dw_pageretr.object.flag[dw_pageretr.getrow()] <> 1 then
  1291. MESSAGEBOX('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
  1292. RETURN
  1293. END IF
  1294. end if
  1295. IF ls_newname <> '' THEN
  1296. IF li_auditprint = 1 THEN
  1297. IF dw_pageretr.Object.flag[dw_pageretr.GetRow()] = 0 THEN
  1298. MessageBox('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
  1299. RETURN
  1300. END IF
  1301. END IF
  1302. ls_prmsg.obj_dwNAME = ls_newname
  1303. ELSE
  1304. ls_prmsg.obj_dwNAME = 'dw_rp_inware_buy_edit_th_audit'
  1305. END IF
  1306. LS_PRMSG.retr_pram_falg=15
  1307. LS_PRMSG.TAG_TEXT='采购收货单'
  1308. LS_PRMSG.FILTER_STRING = ''
  1309. LS_PRMSG.PAGECH_FLAG=0
  1310. LS_PRMSG.retr_scid=cur_scid
  1311. LS_PRMSG.retr_pramnmb=dw_pageretr.object.inwareid[dw_pageretr.getrow()]
  1312. ls_prmsg.rowcnt=dw_child.rowcount()
  1313. IF ifpic = 1 THEN
  1314. String ls_msg
  1315. IF wf_print_retrievedata(LS_PRMSG.s_pic,ls_msg) = 0 THEN
  1316. MessageBox('提示','下载图片失败!',information!,OK!)
  1317. RETURN
  1318. END IF
  1319. END IF
  1320. uo_print.FACT_PRINT_MSG=LS_PRMSG
  1321. string arg_msg
  1322. if uo_print.uof_print_begin(arg_msg)=0 then
  1323. messagebox("提示",arg_msg, Information!, OK! )
  1324. return
  1325. end if
  1326. uo_print.ds_print()
  1327. IF ifpic = 1 THEN
  1328. Long li
  1329. FOR li = 1 TO UpperBound(LS_PRMSG.s_pic.path)
  1330. IF Len(Trim(LS_PRMSG.s_pic.path[li])) > 0 THEN
  1331. FileDelete(LS_PRMSG.s_pic.path[li])
  1332. END IF
  1333. NEXT
  1334. END IF
  1335. //**更新打印次料
  1336. f_update_printnum('u_inware',1,cur_scid,dw_pageretr.object.inwareid[dw_pageretr.getrow()],'','',arg_msg,true)
  1337. end event
  1338. event ue_f10;call super::ue_f10;String ls_1stunit,arg_msg,ls_status,ls_woodcode,ls_pcode
  1339. Decimal rtn_price,rtn_zqrate,rtn_rate
  1340. Long ls_mtrlid,ls_sptid
  1341. IF NOT IsValid(w_unit_ch) THEN
  1342. IF dw_child.GetRow() < 1 THEN RETURN
  1343. dw_uc.AcceptText()
  1344. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  1345. IF IsNull(ls_sptid) OR ls_sptid = 0 THEN
  1346. THIS.TriggerEvent("ue_f9")
  1347. END IF
  1348. dw_child.AcceptText()
  1349. ls_mtrlid = dw_child.Object.u_inwaremx_mtrlid[dw_child.GetRow()]
  1350. OpenWithParm(w_unit_ch,ls_mtrlid)
  1351. s_unit s_inscust
  1352. s_inscust = Message.PowerObjectParm //接受返回结构
  1353. IF s_inscust.unit <> '' THEN
  1354. dw_child.Object.u_inwaremx_unit[dw_child.GetRow()] = s_inscust.unit
  1355. dw_child.Object.u_inwaremx_rate[dw_child.GetRow()] = s_inscust.rate
  1356. ls_1stunit = s_inscust.unit
  1357. ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  1358. ls_status = dw_child.Object.u_inwaremx_status[dw_child.GetRow()]
  1359. ls_woodcode = dw_child.Object.u_inwaremx_woodcode[dw_child.GetRow()]
  1360. ls_pcode = dw_child.Object.u_inwaremx_pcode[dw_child.GetRow()]
  1361. IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,ls_mtrlid,ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,rtn_price,rtn_zqrate,rtn_rate,arg_msg) = 1 THEN
  1362. dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()] = rtn_price
  1363. dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] = rtn_zqrate
  1364. END IF
  1365. dw_child.SetColumn( 'u_inwaremx_uqty')
  1366. END IF
  1367. END IF
  1368. end event
  1369. event ue_addzy;call super::ue_addzy;IF dw_edit_mode THEN
  1370. MessageBox('提示',"编辑状态下不可以使用!", Information!, OK! )
  1371. return
  1372. END IF
  1373. IF NOT (f_power_ind(779) or f_power_ind(782) OR f_power_ind(1319)) THEN
  1374. MessageBox('提示','你没有使用权限!', Information!, OK! )
  1375. RETURN
  1376. END IF
  1377. string arg_msg=''
  1378. string ls_str
  1379. long uc_row
  1380. s_inputbox s_sreu
  1381. uc_row=dw_pageretr.getrow()
  1382. if uc_row<=0 then
  1383. messagebox('提示','请选定当前目标单据!', Information!, OK! )
  1384. return
  1385. end if
  1386. s_sreu.title='请输入要补充到备注的内容'
  1387. s_sreu.old_text=''
  1388. openwithparm(w_inputbox,s_sreu)
  1389. ls_str=message.stringparm
  1390. if trim(ls_str)='' or isnull(ls_str) then return
  1391. if uo_ware.add_dscrp(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row],ls_str,arg_msg)=0 then
  1392. messagebox('error!',arg_msg)
  1393. return
  1394. else
  1395. messagebox('提示','添加备注操作成功!', Information!, OK! )
  1396. wf_refresh_curuc(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row])
  1397. end if
  1398. end event
  1399. event ue_f11;call super::ue_f11;IF NOT dw_edit_mode THEN RETURN
  1400. Long child_row
  1401. Int if_addmxdscrp
  1402. String ls_mxdscrp
  1403. s_addqty_input s_input
  1404. dw_child.AcceptText( )
  1405. child_row = dw_child.GetRow()
  1406. IF child_row <= 0 THEN RETURN
  1407. IF dw_child.Object.u_inwaremx_mtrlid[child_row] <= 0 THEN RETURN
  1408. ls_mxdscrp = dw_child.Object.u_inwaremx_mxdscrp[child_row]
  1409. IF NOT IsValid(w_addqty_input) THEN
  1410. OpenWithParm(w_addqty_input,ls_mxdscrp)
  1411. s_input = Message.PowerObjectParm
  1412. IF s_input.addqty = -1 THEN RETURN
  1413. dw_child.Object.u_inwaremx_addqty[child_row] = s_input.addqty
  1414. IF s_input.addqtystr <> '' THEN
  1415. dw_child.Object.u_inwaremx_mxdscrp[child_row] = s_input.addqtystr
  1416. END IF
  1417. IF s_input.formula <> '' THEN
  1418. dw_child.Object.u_inwaremx_formula[child_row] = s_input.formula
  1419. END IF
  1420. IF s_input.flag = 1 THEN
  1421. dw_child.Object.u_inwaremx_uqty[child_row] = s_input.qty
  1422. END IF
  1423. END IF
  1424. end event
  1425. event ue_addmx;Long uc_row,ll_flag
  1426. uc_row = dw_uc.GetRow()
  1427. IF uc_row <= 0 THEN
  1428. MessageBox('提示','请先选择单据', Information!, OK! )
  1429. RETURN
  1430. END IF
  1431. ll_flag = dw_uc.Object.flag[uc_row]
  1432. IF ll_flag = 1 THEN
  1433. MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! )
  1434. RETURN
  1435. END IF
  1436. this.triggerevent('ue_f8')
  1437. dw_child.SetFocus()
  1438. end event
  1439. event ue_deletemx;Long uc_row,ll_flag
  1440. uc_row = dw_uc.GetRow()
  1441. IF uc_row <= 0 THEN
  1442. MessageBox('提示','请先选择单据', Information!, OK! )
  1443. RETURN
  1444. END IF
  1445. ll_flag = dw_uc.Object.flag[uc_row]
  1446. IF ll_flag = 1 THEN
  1447. MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! )
  1448. RETURN
  1449. END IF
  1450. IF MessageBox ("询问","是否确定要删除当前细目记录?",Question!,YesNo! ) = 2 THEN RETURN
  1451. IF dw_child.GETROW()=0 THEN
  1452. MESSAGEBOX('提示','请选择删除的行对象!', Information!, OK! )
  1453. RETURN
  1454. END IF
  1455. dw_child.DeleteRow (0)
  1456. dw_child.TriggerEvent (rowfocuschanged!)
  1457. end event
  1458. event ue_copyrow;Long uc_row,ll_flag
  1459. uc_row = dw_uc.GetRow()
  1460. IF uc_row <= 0 THEN
  1461. MessageBox('提示','请先选择单据', Information!, OK! )
  1462. RETURN
  1463. END IF
  1464. ll_flag = dw_uc.Object.flag[uc_row]
  1465. IF ll_flag = 1 THEN
  1466. MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! )
  1467. RETURN
  1468. END IF
  1469. long ll_childrow
  1470. ll_childrow = dw_child.GETROW()
  1471. IF ll_childrow=0 THEN
  1472. MESSAGEBOX('提示','请选择复制对象!', Information!, OK! )
  1473. RETURN
  1474. END IF
  1475. dw_child.RowsCopy (ll_childrow,ll_childrow,Primary!,ds_copypaste,1,Primary!)
  1476. ds_copypaste.RowsCopy (1,1,Primary!,dw_child,dw_child.rowcount() + 1,Primary!)
  1477. ds_copypaste.reset()
  1478. dw_child.selectrow(0,false)
  1479. dw_child.setrow(dw_child.rowcount())
  1480. dw_child.scrolltorow(dw_child.rowcount())
  1481. dw_child.selectrow(dw_child.rowcount(),true)
  1482. end event
  1483. event ue_insertmx;Long uc_row,ll_flag
  1484. uc_row = dw_uc.GetRow()
  1485. IF uc_row <= 0 THEN
  1486. MessageBox('提示','请先选择单据', Information!, OK! )
  1487. RETURN
  1488. END IF
  1489. ll_flag = dw_uc.Object.flag[uc_row]
  1490. IF ll_flag = 1 THEN
  1491. MessageBox('提示','单据已仓审,不能增加明细内容', Information!, OK! )
  1492. RETURN
  1493. END IF
  1494. long ll_childrow,li_row
  1495. ll_childrow = dw_child.getrow()
  1496. li_row = dw_child.insertrow(ll_childrow)
  1497. dw_child.selectrow(0,false)
  1498. dw_child.setrow(li_row)
  1499. dw_child.scrolltorow(li_row)
  1500. dw_child.selectrow(li_row,true)
  1501. end event
  1502. event ue_rpt_print;call super::ue_rpt_print;IF NOT (f_power_ind(545) or f_power_ind(549)) THEN
  1503. MessageBox('提示','你没有使用权限!', Information!, OK! )
  1504. RETURN
  1505. END IF
  1506. Long row,uc_relid,ll_scid
  1507. row = dw_pageretr.GetRow()
  1508. IF row = 0 THEN RETURN
  1509. uo_rpt_print_preview uo_print
  1510. S_rpt_print_MSG LS_PRMSG
  1511. IF dw_pageretr.RowCount() = 0 THEN
  1512. MessageBox('提示','没有可打印的单据!', Information!, OK! )
  1513. RETURN
  1514. END IF
  1515. IF ls_rpname = '' THEN RETURN
  1516. IF li_auditprint = 1 THEN
  1517. IF dw_pageretr.Object.flag[row] = 0 THEN
  1518. MessageBox('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
  1519. RETURN
  1520. END IF
  1521. END IF
  1522. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1523. LS_PRMSG.retr_pram_falg = 15
  1524. LS_PRMSG.TAG_TEXT = '采购退货单'
  1525. LS_PRMSG.rpname = ls_rpname
  1526. LS_PRMSG.FILTER_STRING = ''
  1527. LS_PRMSG.PAGECH_FLAG = 0
  1528. LS_PRMSG.rpid = ls_msgprintid_rpt
  1529. LS_PRMSG.retr_scid = dw_pageretr.Object.u_inware_scid[dw_pageretr.GetRow()]
  1530. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.inwareid[dw_pageretr.GetRow()]
  1531. LS_PRMSG.rowcnt = dw_child.RowCount()
  1532. uo_print.FACT_PRINT_MSG = LS_PRMSG
  1533. String arg_msg
  1534. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  1535. MessageBox("提示",arg_msg, Information!, OK! )
  1536. RETURN
  1537. END IF
  1538. uo_print.ds_print()
  1539. //**更新打印次料
  1540. printnum = message.doubleparm
  1541. f_update_printnum('u_inware',printnum,cur_scid,dw_pageretr.object.inwareid[row],'','',arg_msg,true)
  1542. end event
  1543. event ue_rpt_viewprint;call super::ue_rpt_viewprint;IF NOT (f_power_ind(545) or f_power_ind(549)) THEN
  1544. MessageBox('提示','你没有使用权限!', Information!, OK! )
  1545. RETURN
  1546. END IF
  1547. Long row,uc_relid,ll_scid
  1548. row = dw_pageretr.GetRow()
  1549. IF row = 0 THEN RETURN
  1550. IF ls_rpname = '' THEN RETURN
  1551. IF li_auditprint = 1 THEN
  1552. IF dw_pageretr.Object.flag[row] = 0 THEN
  1553. MessageBox('错误','目标单据还未审核,不能打印!', StopSign!, OK! )
  1554. RETURN
  1555. END IF
  1556. END IF
  1557. s_rpt_print_msg s_print
  1558. s_print.retr_pram_falg = 15
  1559. s_print.rpid = ls_msgprintid_rpt
  1560. s_print.retr_flag = TRUE
  1561. s_print.tag_text = THIS.Title
  1562. s_print.rpname = ls_rpname
  1563. s_print.retr_scid = dw_pageretr.Object.u_inware_scid[row]
  1564. s_print.retr_pramnmb = dw_pageretr.Object.inwareid[row]
  1565. s_print.rowcnt = dw_child.RowCount()
  1566. OpenWithParm(w_rpt_preview,s_print)
  1567. //**更新打印次料
  1568. String arg_msg
  1569. printnum = message.doubleparm
  1570. f_update_printnum('u_inware',printnum,cur_scid,dw_pageretr.object.inwareid[row],'','',arg_msg,true)
  1571. end event
  1572. event ue_f6;call super::ue_f6;s_view_dscrp s_view,s_return
  1573. String ls_dscrp
  1574. dw_uc.AcceptText()
  1575. ls_dscrp = dw_uc.Object.dscrp[dw_uc.GetRow()]
  1576. s_view.Title = '采购退货单备注'
  1577. s_view.dscrp = ls_dscrp
  1578. s_view.editmode = dw_edit_mode
  1579. OpenWithParm(w_view_dscrp,s_view)
  1580. IF dw_edit_mode THEN
  1581. s_return = Message.PowerObjectParm
  1582. dw_uc.Object.dscrp[dw_uc.GetRow()] = s_return.dscrp
  1583. END IF
  1584. end event
  1585. type cb_func from w_publ_1ton_share_detail`cb_func within w_inware_buy_th_wareaudit
  1586. end type
  1587. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_inware_buy_th_wareaudit
  1588. integer x = 1733
  1589. end type
  1590. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_inware_buy_th_wareaudit
  1591. integer x = 192
  1592. integer width = 549
  1593. end type
  1594. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_inware_buy_th_wareaudit
  1595. integer x = 2226
  1596. end type
  1597. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_inware_buy_th_wareaudit
  1598. integer x = 1897
  1599. integer y = 36
  1600. integer width = 320
  1601. end type
  1602. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_inware_buy_th_wareaudit
  1603. integer x = 2043
  1604. integer y = 296
  1605. integer width = 1490
  1606. integer height = 868
  1607. string dataobject = "dw_inware_buy_index_th_audit"
  1608. end type
  1609. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf()
  1610. wf_check_billfj()
  1611. if dw_edit_mode then return
  1612. if currentrow <=0 then
  1613. dw_child.reset()
  1614. return
  1615. end if
  1616. this.selectrow(0,false)
  1617. this.selectrow(currentrow,true)
  1618. dw_uc.setrow(currentrow)
  1619. dw_uc.scrolltorow (currentrow)
  1620. if not dw_edit_mode then parent.triggerevent('retrieve_childdw')
  1621. end event
  1622. type st_1 from w_publ_1ton_share_detail`st_1 within w_inware_buy_th_wareaudit
  1623. integer width = 224
  1624. string text = "编码含"
  1625. end type
  1626. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_inware_buy_th_wareaudit
  1627. integer x = 2377
  1628. end type
  1629. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_inware_buy_th_wareaudit
  1630. integer y = 296
  1631. integer width = 2039
  1632. integer height = 868
  1633. string dataobject = "dw_inware_buy_edit_th_audit"
  1634. end type
  1635. event dw_uc::dwnkey;parent.triggerevent('user_key')
  1636. if key = KeyDownArrow! then return 1
  1637. if dw_edit_mode then
  1638. if dw_uc.GetColumnName ( )='dscrp' and key = KeyEnter! then
  1639. dw_child.setfocus()
  1640. dw_child.scrolltorow(dw_child.rowcount())
  1641. dw_child.SetColumn ('u_inwaremx_ifrel')
  1642. return 1
  1643. elseif dw_uc.GetColumnName ( )='u_spt_sptcode' and key = KeyEnter! then
  1644. String ls_code,ls_name,ls_find_code
  1645. Long ls_sptid
  1646. Long cnt = 0
  1647. Boolean if_find = FALSE
  1648. dw_uc.AcceptText()
  1649. ls_code = Upper(Trim(dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()]))
  1650. SELECT u_spt.sptid,
  1651. u_spt.name,
  1652. u_spt.sptcode
  1653. INTO :ls_sptid,:ls_name,:ls_code
  1654. FROM u_spt
  1655. Where ( sptcode = :ls_code OR Name = :ls_code );
  1656. IF sqlca.SQLCode <> 0 THEN
  1657. IF Pos(Trim(ls_code),'%') = 0 THEN
  1658. ls_find_code = '%'+ Trim(ls_code) + '%'
  1659. ELSE
  1660. ls_find_code = Trim(ls_code)
  1661. END IF
  1662. SELECT count(*) INTO :cnt
  1663. FROM u_spt
  1664. Where ( sptcode Like :ls_find_code OR Name Like :ls_find_code );
  1665. IF sqlca.SQLCode <> 0 THEN
  1666. PARENT.TriggerEvent('ue_f9')
  1667. RETURN 1
  1668. END IF
  1669. IF cnt <> 1 THEN
  1670. PARENT.TriggerEvent('ue_f9')
  1671. RETURN 1
  1672. ELSE
  1673. SELECT u_spt.sptid,
  1674. u_spt.sptcode,
  1675. u_spt.name
  1676. INTO :ls_sptid,:ls_code,:ls_name
  1677. FROM u_spt
  1678. Where ( sptcode Like :ls_find_code OR Name Like :ls_find_code );
  1679. IF sqlca.SQLCode <> 0 THEN
  1680. PARENT.TriggerEvent('ue_f9')
  1681. RETURN 1
  1682. ELSE
  1683. if_find = TRUE
  1684. END IF
  1685. END IF
  1686. ELSE
  1687. if_find = TRUE
  1688. END IF
  1689. IF if_find THEN
  1690. dw_uc.SetRedraw(FALSE)
  1691. dw_uc.Object.sptid[dw_uc.GetRow()] = ls_sptid
  1692. dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()] = ls_code
  1693. dw_uc.Object.u_spt_name[dw_uc.GetRow()] = ls_name
  1694. dw_uc.SetRedraw(TRUE)
  1695. dw_uc.SetColumn("indate")
  1696. RETURN 1
  1697. END IF
  1698. else
  1699. if key = KeyEnter! Then //
  1700. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1701. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1702. Return 1
  1703. end If
  1704. end if
  1705. end if
  1706. end event
  1707. event dw_uc::doubleclicked;IF dw_edit_mode AND row > 0 THEN
  1708. IF dwo.Name = 'u_spt_name' OR dwo.Name = 'u_spt_sptcode' THEN
  1709. PARENT.TriggerEvent('ue_f9')
  1710. END IF
  1711. END IF
  1712. end event
  1713. event dw_uc::itemchanged;call super::itemchanged;IF NOT dw_edit_mode THEN RETURN
  1714. IF dwo.Name = 'storageid' THEN
  1715. // wf_lock_plancode(long(data))
  1716. dw_child.Reset()
  1717. PARENT.TriggerEvent("insert_childrow")
  1718. END IF
  1719. end event
  1720. event dw_uc::clicked;call super::clicked;IF row <= 0 THEN RETURN
  1721. IF dwo.Name = 'p_dview' THEN
  1722. PARENT.TriggerEvent('ue_f6')
  1723. END IF
  1724. if not dw_edit_mode then return
  1725. if dwo.name='p_p' then
  1726. parent.TRIGGEREVENT('ue_f9')
  1727. end if
  1728. end event
  1729. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_inware_buy_th_wareaudit
  1730. end type
  1731. type dw_child from w_publ_1ton_share_detail`dw_child within w_inware_buy_th_wareaudit
  1732. integer y = 1168
  1733. integer height = 924
  1734. string dataobject = "dw_inwaremx_buy_edit_th_audit"
  1735. end type
  1736. event dw_child::dwnkey;call super::dwnkey;//PARENT.TriggerEvent('user_key')
  1737. //
  1738. //String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode,ls_unit_buy,ls_mtrlsectype,ls_zxmtrlmode
  1739. //Long ls_mtrlid,ls_sptid,ls_taskid,ls_orderid,ls_storageid
  1740. //Dec ls_lmbuyprice,ls_planprice
  1741. //Dec ls_lastprice,ls_rebate,ld_rate_buy
  1742. //String ls_buytaskcode
  1743. //String ls_prdpackcode
  1744. //Decimal ls_packqty,ls_nofinishqty
  1745. //Int li_statusflag,li_woodcodeflag,li_pcodeflag
  1746. //s_mtrldef_array arg_s_mtrldef
  1747. //
  1748. //Long child_row
  1749. //Long ls_null
  1750. //SetNull(ls_null)
  1751. //
  1752. //IF dw_edit_mode THEN
  1753. // dw_uc.AcceptText()
  1754. // ls_storageid = dw_uc.Object.storageid[dw_uc.GetRow()]
  1755. // IF ls_storageid = 0 OR IsNull(ls_storageid) THEN
  1756. // MessageBox('提示','请先选择仓库', Information!, OK! )
  1757. // RETURN
  1758. // END IF
  1759. //
  1760. // ls_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  1761. // IF IsNull(ls_sptid) OR ls_sptid = 0 THEN
  1762. // THIS.TriggerEvent("ue_f9")
  1763. // END IF
  1764. //
  1765. // IF KeyDown(keydownarrow!) THEN
  1766. // Long li_row
  1767. // IF dw_child.GetRow() = dw_child.RowCount() THEN
  1768. // PARENT.TriggerEvent("insert_childrow")
  1769. // END IF
  1770. // ELSE
  1771. // IF KeyDown(keyenter!) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN
  1772. // IF dw_child.GetColumnName() = 'u_mtrldef_mtrlcode' THEN
  1773. // dw_child.AcceptText()
  1774. // child_row = dw_child.GetRow()
  1775. //
  1776. // ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row]
  1777. // ls_buytaskcode = dw_child.Object.u_buytask_taskcode[child_row]
  1778. //
  1779. // IF dw_child.Object.u_inwaremx_ifrel[child_row] = 1 THEN
  1780. // SELECT u_mtrldef.mtrlid,
  1781. // u_mtrldef.mtrlname,
  1782. // u_mtrldef.unit,
  1783. // u_mtrldef.unit_buy,
  1784. // u_mtrldef.rate_buy,
  1785. // u_mtrldef.planprice,
  1786. // u_mtrldef.mtrlmode,
  1787. // u_mtrldef.prdpackcode,
  1788. // u_mtrldef.packqty ,
  1789. // u_buytask.taskid ,
  1790. // u_buytaskmx.qty - u_buytaskmx.consignedqty,
  1791. // u_buytaskmx.orderid,
  1792. // u_mtrldef.statusflag,
  1793. // u_mtrldef.woodcodeflag,
  1794. // u_mtrldef.pcodeflag
  1795. // INTO :ls_mtrlid,:ls_mtrlname,:ls_unit,:ls_unit_buy,
  1796. // :ld_rate_buy,:ls_planprice,
  1797. // :ls_mtrlmode,:ls_prdpackcode,:ls_packqty,:ls_taskid,
  1798. // :ls_nofinishqty,:ls_orderid,
  1799. // :li_statusflag,:li_woodcodeflag,:li_pcodeflag
  1800. // FROM u_mtrldef,u_buytaskmx,u_buytask
  1801. // WHERE ( u_mtrldef.mtrlid = u_buytaskmx.mtrlid )
  1802. // AND ( u_buytask.taskcode = :ls_buytaskcode )
  1803. // AND ( u_mtrldef.mtrlcode = :ls_mtrlcode )
  1804. // AND ( u_buytask.taskid = u_buytaskmx.taskid )
  1805. // AND ( u_buytask.scid = u_buytaskmx.scid )
  1806. // And ( u_buytask.status = 1 );
  1807. // IF sqlca.SQLCode = 100 THEN
  1808. // dw_child.Object.u_inwaremx_relid[child_row] = 0
  1809. // PARENT.TriggerEvent('ue_f7')
  1810. // RETURN 1
  1811. // END IF
  1812. // ELSE
  1813. // IF f_find_mtrl(ls_mtrlcode,ls_storageid,arg_s_mtrldef) = 0 THEN
  1814. // PARENT.TriggerEvent('ue_f8')
  1815. // RETURN 1
  1816. // ELSE
  1817. // ls_mtrlid = arg_s_mtrldef.mtrlid[1]
  1818. // ls_mtrlcode = arg_s_mtrldef.mtrlcode[1]
  1819. // ls_mtrlname = arg_s_mtrldef.mtrlname[1]
  1820. // ls_unit = arg_s_mtrldef.unit[1]
  1821. // ls_mtrlmode = arg_s_mtrldef.mtrlmode[1]
  1822. // ls_planprice = arg_s_mtrldef.planprice[1]
  1823. // ls_lmbuyprice = arg_s_mtrldef.lmbuyprice[1]
  1824. // ls_unit_buy = arg_s_mtrldef.unit_buy[1]
  1825. // ld_rate_buy = arg_s_mtrldef.rate_buy[1]
  1826. // ls_mtrlsectype = arg_s_mtrldef.mtrlsectype[1]
  1827. // ls_zxmtrlmode = arg_s_mtrldef.zxmtrlmode[1]
  1828. // li_statusflag = arg_s_mtrldef.statusflag[1]
  1829. // li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  1830. // li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  1831. // END IF
  1832. // END IF
  1833. // dw_child.Object.u_inwaremx_sptid_cusid[child_row] = ls_orderid
  1834. // dw_child.Object.u_inwaremx_relid[child_row] = ls_taskid
  1835. // dw_child.Object.u_inwaremx_mtrlid[child_row] = ls_mtrlid
  1836. // dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
  1837. // dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
  1838. // dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
  1839. // dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
  1840. // dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
  1841. // dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
  1842. // dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  1843. // dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  1844. // dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  1845. //
  1846. //
  1847. // Decimal ls_1stnewcost,ls_1stzqrate,ls_1strate
  1848. // String arg_msg
  1849. // String ls_1stunit,ls_status,ls_woodcode,ls_pcode
  1850. //
  1851. // ls_status=dw_child.Object.u_inwaremx_status[child_row]
  1852. // ls_woodcode=dw_child.Object.u_inwaremx_woodcode[child_row]
  1853. // ls_pcode=dw_child.Object.u_inwaremx_pcode[child_row]
  1854. //
  1855. // ls_1stunit = '' //dw_child.Object.u_inwaremx_unit[child_row]
  1856. //
  1857. // IF cur_editfocus = 1 THEN
  1858. // IF uo_sptprice.uf_getmtrlsptprice(ls_sptid,ls_mtrlid,ls_1stunit,ls_status,ls_woodcode,ls_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) <> 1 THEN
  1859. // IF ls_planprice = 0 THEN
  1860. // dw_child.Object.u_inwaremx_uprice[child_row] = ls_lmbuyprice
  1861. // ELSE
  1862. // dw_child.Object.u_inwaremx_uprice[child_row] = ls_planprice
  1863. // END IF
  1864. // dw_child.Object.u_inwaremx_rebate[child_row] = 1
  1865. // IF ls_unit_buy = '' THEN
  1866. // dw_child.Object.u_inwaremx_rate[child_row] = 1
  1867. // dw_child.Object.u_inwaremx_unit[child_row] = ls_unit
  1868. // ELSE
  1869. // dw_child.Object.u_inwaremx_rate[child_row] = ld_rate_buy
  1870. // dw_child.Object.u_inwaremx_unit[child_row] = ls_unit_buy
  1871. // END IF
  1872. // ELSE
  1873. // dw_child.Object.u_inwaremx_uprice[child_row] = ls_1stnewcost
  1874. // dw_child.Object.u_inwaremx_rebate[child_row] = ls_1stzqrate
  1875. // dw_child.Object.u_inwaremx_rate[child_row] = ls_1strate
  1876. // dw_child.Object.u_inwaremx_unit[child_row] = ls_1stunit
  1877. // END IF
  1878. // ELSE
  1879. // IF dw_child.Object.u_inwaremx_unit[child_row] = '' THEN
  1880. // IF ls_unit_buy = '' THEN
  1881. // dw_child.Object.u_inwaremx_rate[child_row] = 1
  1882. // dw_child.Object.u_inwaremx_unit[child_row] = ls_unit
  1883. // ELSE
  1884. // dw_child.Object.u_inwaremx_rate[child_row] = ld_rate_buy
  1885. // dw_child.Object.u_inwaremx_unit[child_row] = ls_unit_buy
  1886. // END IF
  1887. // END IF
  1888. // END IF
  1889. //
  1890. // THIS.AcceptText( )
  1891. // String ls_sptmtrlname
  1892. // IF uo_sptprice.uf_getmtrlname(ls_sptid,ls_mtrlid,ls_sptmtrlname,arg_msg) = 1 THEN
  1893. // dw_child.Object.u_inwaremx_sptmtrlname[child_row] = ls_sptmtrlname
  1894. // END IF
  1895. // parent.triggerevent('ue_allowedit')
  1896. // IF Key = keyenter! THEN
  1897. // keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1898. // keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1899. // RETURN 1
  1900. // END IF
  1901. // ELSEIF dw_child.GetColumnName( ) = 'u_inwaremx_rebate' THEN
  1902. // Long i_mtrlid,i_sptid
  1903. // String i_mtrlcode,i_status,i_woodcode,i_pcode
  1904. // String i_unit
  1905. // Decimal i_price,i_zqrate
  1906. // dw_child.AcceptText()
  1907. // dw_uc.AcceptText()
  1908. //
  1909. // i_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  1910. // i_mtrlid = dw_child.Object.u_inwaremx_mtrlid[dw_child.GetRow()]
  1911. // i_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]
  1912. // i_price = dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()]
  1913. // i_zqrate = dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()]
  1914. // i_unit = dw_child.Object.u_inwaremx_unit[dw_child.GetRow()]
  1915. // i_status= dw_child.Object.u_inwaremx_status[dw_child.GetRow()]
  1916. // i_woodcode= dw_child.Object.u_inwaremx_woodcode[dw_child.GetRow()]
  1917. // i_pcode= dw_child.Object.u_inwaremx_pcode[dw_child.GetRow()]
  1918. //
  1919. // IF uo_sptprice.uf_check_price(1,i_sptid,i_mtrlid,i_mtrlcode,i_unit,i_status,i_woodcode,i_pcode,i_price * i_zqrate,arg_msg) = 0 THEN
  1920. // MessageBox("提示",arg_msg, Information!, OK! )
  1921. // dw_child.SetFocus()
  1922. // dw_child.SetColumn("u_inwaremx_uprice")
  1923. // RETURN 1
  1924. // ELSE
  1925. // dw_child.SetFocus()
  1926. // dw_child.SetColumn("u_inwaremx_mxdscrp")
  1927. // RETURN 1
  1928. // END IF
  1929. // ELSEIF dw_child.GetColumnName( ) = 'u_inwaremx_plancode' AND dw_child.GetRow() = dw_child.RowCount() THEN
  1930. // PARENT.TriggerEvent("insert_childrow")
  1931. // RETURN 1
  1932. // ELSEIF dw_child.GetColumnName() = "u_inwaremx_status" OR dw_child.GetColumnName() = "u_inwaremx_woodcode" OR dw_child.GetColumnName() = "u_inwaremx_pcode" THEN
  1933. // dw_child.AcceptText()
  1934. // dw_uc.AcceptText()
  1935. //
  1936. // i_sptid = dw_uc.Object.sptid[dw_uc.GetRow()]
  1937. // i_mtrlid = dw_child.Object.u_inwaremx_mtrlid[dw_child.GetRow()]
  1938. // i_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()]
  1939. // i_price = dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()]
  1940. // i_zqrate = dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()]
  1941. // i_status = dw_child.Object.u_inwaremx_status[dw_child.GetRow()]
  1942. // i_woodcode = dw_child.Object.u_inwaremx_woodcode[dw_child.GetRow()]
  1943. // i_pcode = dw_child.Object.u_inwaremx_pcode[dw_child.GetRow()]
  1944. // ls_1stunit=dw_child.Object.u_inwaremx_unit[dw_child.GetRow()]
  1945. // ls_unit=dw_child.Object.u_mtrldef_unit[dw_child.GetRow()]
  1946. //
  1947. // IF uo_sptprice.uf_getmtrlsptprice(i_sptid,i_mtrlid,ls_1stunit,i_status,i_woodcode,i_pcode,0,ls_1stnewcost,ls_1stzqrate,ls_1strate,arg_msg) = 1 THEN
  1948. // dw_child.Object.u_inwaremx_uprice[dw_child.GetRow()] = ls_1stnewcost
  1949. // dw_child.Object.u_inwaremx_rebate[dw_child.GetRow()] = ls_1stzqrate
  1950. // dw_child.Object.u_inwaremx_rate[dw_child.GetRow()] = ls_1strate
  1951. // dw_child.Object.u_inwaremx_unit[dw_child.GetRow()] = ls_1stunit
  1952. // END IF
  1953. //
  1954. // THIS.AcceptText()
  1955. //
  1956. // IF uo_sptprice.uf_getmtrlname(i_sptid,i_mtrlid,ls_sptmtrlname,arg_msg) = 1 THEN
  1957. // dw_child.Object.u_inwaremx_sptmtrlname[dw_child.GetRow()] = ls_sptmtrlname
  1958. // END IF
  1959. //
  1960. // IF Key = keyenter! THEN
  1961. // keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1962. // keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1963. // RETURN 1
  1964. // END IF
  1965. // ELSE
  1966. // IF Key = keyenter! THEN
  1967. // keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1968. // keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1969. // RETURN 1
  1970. // END IF
  1971. // END IF
  1972. // END IF
  1973. // END IF
  1974. //END IF
  1975. //
  1976. ////u_mtrldef_mtrlcode
  1977. ////u_mtrldef_unit
  1978. ////u_inwaremx_mtrlid
  1979. ////u_inwaremx_planprice
  1980. ////u_inwaremx_price
  1981. ////u_mtrldef_mtrlname
  1982. //
  1983. //
  1984. //
  1985. //
  1986. //
  1987. //
  1988. //
  1989. //
  1990. //
  1991. end event
  1992. event dw_child::doubleclicked;dw_child.AcceptText()
  1993. IF dw_edit_mode THEN
  1994. IF row > 0 THEN
  1995. IF dwo.Name = 'u_inwaremx_uqty' OR dwo.Name = 'u_inwaremx_formula' THEN
  1996. PARENT.TriggerEvent('ue_cmpl_qty')
  1997. return
  1998. END IF
  1999. IF dw_child.Object.u_inwaremx_ifrel[row] = 1 THEN
  2000. CHOOSE CASE dwo.Name
  2001. CASE 'u_inwaremx_unit'
  2002. PARENT.TriggerEvent('ue_f10')
  2003. CASE 'u_inwaremx_addqty'
  2004. PARENT.TriggerEvent('ue_f11')
  2005. CASE ELSE
  2006. PARENT.TriggerEvent('ue_f7')
  2007. END CHOOSE
  2008. ELSE
  2009. CHOOSE CASE dwo.Name
  2010. CASE 'u_mtrldef_mtrlcode'
  2011. PARENT.TriggerEvent('ue_f8')
  2012. CASE 'u_inwaremx_addqty'
  2013. PARENT.TriggerEvent('ue_f11')
  2014. CASE 'u_inwaremx_unit'
  2015. PARENT.TriggerEvent('ue_f10')
  2016. END CHOOSE
  2017. END IF
  2018. ELSE
  2019. PARENT.TriggerEvent('ue_f8')
  2020. END IF
  2021. END IF
  2022. end event
  2023. event dw_child::itemchanged;call super::itemchanged;if not dw_edit_mode then return
  2024. this.accepttext()
  2025. if dwo.name = 'u_inwaremx_ifrel' then
  2026. if this.object.u_inwaremx_ifrel[row] = 0 then
  2027. dw_child.object.u_inwaremx_relid[row] = 0
  2028. dw_child.object.u_buytask_taskcode[row] = ''
  2029. end if
  2030. end if
  2031. end event
  2032. event dw_child::itemfocuschanged;call super::itemfocuschanged;dw_child.accepttext()
  2033. dw_child.object.amt[dw_child.getrow()]=dw_child.object.u_inwaremx_uprice[dw_child.getrow()]*dw_child.object.u_inwaremx_rebate[dw_child.getrow()]*dw_child.object.u_inwaremx_uqty[dw_child.getrow()]
  2034. end event
  2035. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_inware_buy_th_wareaudit
  2036. integer x = 1088
  2037. end type
  2038. type cb_print from w_publ_1ton_share_detail`cb_print within w_inware_buy_th_wareaudit
  2039. integer x = 896
  2040. end type
  2041. type cb_add from w_publ_1ton_share_detail`cb_add within w_inware_buy_th_wareaudit
  2042. boolean visible = false
  2043. end type
  2044. event cb_add::clicked;IF Not (f_power_ind(543) OR f_power_ind(547)) THEN
  2045. MessageBox('提示','你没有使用权限!', Information!, OK! )
  2046. RETURN
  2047. END IF
  2048. String arg_msg = ''
  2049. Long uc_row,pagerert_row
  2050. Long relid_pageretr,reld_uc,j
  2051. IF NOT dw_edit_mode THEN
  2052. IF wf_check_print(arg_msg) = 0 THEN
  2053. MessageBox('提示',arg_msg, Information!, OK! )
  2054. RETURN
  2055. END IF
  2056. END IF
  2057. IF dw_edit_mode THEN
  2058. dw_uc.AcceptText()
  2059. dw_child.AcceptText()
  2060. uc_row = dw_uc.GetRow()
  2061. IF uc_row <= 0 THEN
  2062. MessageBox('提示','请选定当前目标单据!', Information!, OK! )
  2063. RETURN
  2064. END IF
  2065. IF NOT dw_uc.Object.indate[uc_row] > DateTime(2000-01-01,Now()) THEN
  2066. MessageBox('提示','不合理发生时间!', Information!, OK! )
  2067. dw_uc.SetFocus()
  2068. dw_uc.SetColumn("indate")
  2069. RETURN
  2070. END IF
  2071. IF NOT Len(String(dw_uc.Object.inrep[uc_row])) > 0 THEN
  2072. MessageBox('提示','请填写经手人!', Information!, OK! )
  2073. dw_uc.SetFocus()
  2074. dw_uc.SetColumn("inrep")
  2075. RETURN
  2076. END IF
  2077. IF dw_uc.Object.u_inware_relint_1[uc_row] = 0 THEN
  2078. MessageBox('提示','请选择结算方式', Information!, OK! )
  2079. dw_uc.SetFocus()
  2080. dw_uc.SetColumn("u_inware_relint_1")
  2081. RETURN
  2082. END IF
  2083. IF dw_uc.Object.u_inware_otheramt[uc_row] <> 0 AND NOT Len(String(dw_uc.Object.dscrp[uc_row])) > 0 THEN
  2084. MessageBox('提示','请在备注栏注明扣减费用!', Information!, OK! )
  2085. dw_uc.SetFocus()
  2086. dw_uc.SetColumn("dscrp")
  2087. RETURN
  2088. END IF
  2089. //退货单输入是否负数
  2090. FOR j = 1 TO dw_child.RowCount()
  2091. IF dw_child.Object.u_inwaremx_uqty[j] > 0 AND dw_child.Object.u_inwaremx_mtrlid[j] > 0 THEN
  2092. dw_child.Object.u_inwaremx_uqty[j] = 0 - dw_child.Object.u_inwaremx_uqty[j]
  2093. END IF
  2094. IF dw_child.Object.u_inwaremx_addqty[j] > 0 AND dw_child.Object.u_inwaremx_mtrlid[j] > 0 THEN
  2095. dw_child.Object.u_inwaremx_addqty[j] = 0 - dw_child.Object.u_inwaremx_addqty[j]
  2096. END IF
  2097. if dw_child.Object.u_inwaremx_unit[j] = '' then
  2098. dw_child.Object.u_inwaremx_unit[j] = dw_child.Object.u_mtrldef_unit[j]
  2099. dw_child.Object.u_inwaremx_rate[j] = 1
  2100. end if
  2101. NEXT
  2102. uo_ware.indate = dw_uc.Object.indate[uc_row] // 发生时间
  2103. uo_ware.inrep = dw_uc.Object.inrep[uc_row] // 经手人
  2104. uo_ware.part = dw_uc.Object.part[uc_row] //相关部门
  2105. uo_ware.dscrp = dw_uc.Object.dscrp[uc_row] //备注
  2106. uo_ware.storageid = dw_uc.Object.storageid[uc_row]
  2107. uo_ware.sptid = dw_uc.Object.sptid[uc_row]
  2108. uo_ware.otheramt = dw_uc.Object.u_inware_otheramt[uc_row]
  2109. uo_ware.relint_1 = dw_uc.Object.u_inware_relint_1[uc_row]
  2110. uo_ware.relid = dw_uc.Object.u_inware_relid[uc_row]
  2111. uo_ware.thflag = 1
  2112. Long i
  2113. FOR i = 1 TO dw_child.RowCount()
  2114. IF dw_child.Object.u_inwaremx_mtrlid[i] > 0 THEN
  2115. IF uo_ware.acceptmx(dw_child.Object.printid[i],&
  2116. dw_child.Object.u_inwaremx_mtrlid[i],&
  2117. dw_child.Object.u_mtrldef_mtrlcode[i],&
  2118. dw_child.Object.u_inwaremx_plancode[i],&
  2119. dw_child.Object.u_inwaremx_status[i],&
  2120. dw_child.Object.u_inwaremx_uqty[i],&
  2121. dw_child.Object.u_inwaremx_addqty[i],&
  2122. dw_child.Object.u_inwaremx_uprice[i],&
  2123. dw_child.Object.u_inwaremx_rebate[i],&
  2124. dw_child.Object.u_inwaremx_mxdscrp[i],&
  2125. arg_msg,0,&
  2126. dw_child.Object.u_inwaremx_relid[i],&
  2127. dw_child.Object.u_inwaremx_relprintid[i],&
  2128. dw_child.Object.u_inwaremx_ifrel[i],&
  2129. dw_child.Object.u_inwaremx_woodcode[i],&
  2130. dw_child.Object.u_inwaremx_pcode[i],&
  2131. '',&
  2132. dw_child.Object.u_inwaremx_sptid_cusid[i],&
  2133. dw_child.Object.u_inwaremx_unit[i],&
  2134. dw_child.Object.u_inwaremx_rate[i],&
  2135. dw_child.Object.u_inwaremx_formula[i],&
  2136. dw_child.Object.u_inwaremx_waredscrp[i],&
  2137. dw_child.Object.u_inwaremx_inworkdate[i],0) = 0 THEN
  2138. MessageBox('错误',arg_msg, StopSign!, OK! )
  2139. RETURN
  2140. END IF
  2141. END IF
  2142. NEXT
  2143. IF uo_ware.Save(TRUE,arg_msg) = 0 THEN
  2144. MessageBox('错误',arg_msg, StopSign!, OK! )
  2145. RETURN
  2146. END IF
  2147. // MessageBox('提示','保存操作成功!')
  2148. //write ini
  2149. f_SetProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",String(dw_uc.Object.storageid[dw_uc.GetRow()]))
  2150. f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",String(dw_uc.Object.u_inware_relint_1[dw_uc.GetRow()]))
  2151. //
  2152. long ll_row
  2153. ll_row = dw_pageretr.getrow()
  2154. dw_pageretr.SelectRow(0,FALSE)
  2155. dw_pageretr.SelectRow(ll_row,TRUE)
  2156. wf_refresh_curuc(cur_scid,uo_ware.inwareid) //刷新uc
  2157. ELSE
  2158. IF uo_ware.newbegin(cur_scid,1,arg_msg) = 0 THEN
  2159. MessageBox('错误',arg_msg, StopSign!, OK! )
  2160. RETURN
  2161. END IF
  2162. END IF
  2163. CALL SUPER::Clicked
  2164. //read ini
  2165. IF dw_edit_mode THEN
  2166. PARENT.TriggerEvent("insert_childrow")
  2167. dw_uc.SetRedraw(FALSE)
  2168. String ls_storageid,ls_banktype
  2169. ls_storageid = f_ProfileString (sys_empid,dw_uc.DataObject, "ddlb_storageid",'0')
  2170. ls_banktype = f_ProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",'0')
  2171. IF f_find_storageid(ls_storageid) = '' THEN
  2172. ls_storageid = '0'
  2173. END IF
  2174. dw_uc.Object.storageid[dw_uc.GetRow()] = Long(ls_storageid)
  2175. dw_uc.Object.u_inware_relint_1[dw_uc.GetRow()] = Long(ls_banktype)
  2176. dw_uc.SetColumn("storageid")
  2177. dw_uc.SetRedraw(TRUE)
  2178. cur_editfocus = 1
  2179. // wf_lock_plancode(long(ls_storageid))
  2180. ELSE
  2181. PARENT.TriggerEvent("retrieve_childdw")
  2182. cur_editfocus = 0
  2183. END IF
  2184. //
  2185. end event
  2186. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_inware_buy_th_wareaudit
  2187. boolean visible = false
  2188. end type
  2189. event cb_edit::clicked;IF Not (f_power_ind(543) OR f_power_ind(547)) THEN
  2190. MessageBox('提示','你没有使用权限!', Information!, OK! )
  2191. RETURN
  2192. END IF
  2193. string arg_msg=''
  2194. long uc_row,ll_storageid
  2195. uc_row=dw_pageretr.getrow()
  2196. if uc_row<=0 then
  2197. messagebox('提示','请选定当前目标单据!', Information!, OK! )
  2198. return
  2199. end if
  2200. ll_storageid = dw_pageretr.object.storageid[uc_row]
  2201. if not dw_edit_mode then
  2202. if uo_ware.updatebegin(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row],1,arg_msg)=0 then
  2203. messagebox('错误',arg_msg, StopSign!, OK! )
  2204. return
  2205. end if
  2206. parent.triggerevent('ue_allowedit')
  2207. // wf_lock_plancode(ll_storageid)
  2208. end if
  2209. call super::clicked
  2210. if dw_edit_mode then
  2211. cur_editfocus = 2
  2212. else
  2213. cur_editfocus = 0
  2214. end if
  2215. end event
  2216. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_inware_buy_th_wareaudit
  2217. boolean visible = false
  2218. end type
  2219. event cb_delet::clicked;call super::clicked;IF Not (f_power_ind(593) OR f_power_ind(585)) THEN
  2220. MessageBox('提示','你没有使用权限!', Information!, OK! )
  2221. RETURN
  2222. END IF
  2223. string arg_msg=''
  2224. if dw_edit_mode then return
  2225. long uc_row
  2226. uc_row=dw_pageretr.getrow()
  2227. if uc_row<=0 then
  2228. messagebox('提示','请选定当前目标单据!', Information!, OK! )
  2229. return
  2230. end if
  2231. if messagebox ("询问","是否确定要删除当前单据?",question!,yesno! ) = 2 then return
  2232. if uo_ware.del(dw_pageretr.object.u_inware_scid[uc_row],dw_pageretr.object.inwareid[uc_row],arg_msg,true)=0 then
  2233. messagebox('错误',arg_msg, StopSign!, OK! )
  2234. else
  2235. //日志
  2236. long ls_id
  2237. string ls_code
  2238. ls_id=dw_pageretr.object.inwareid[uc_row]
  2239. ls_code=dw_pageretr.object.inwarecode[uc_row]
  2240. f_setsysoplog('采购退货单','删除,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true)
  2241. //--
  2242. messagebox('提示','删除单据'+string(dw_pageretr.object.inwarecode[uc_row])+'成功!', Information!, OK! )
  2243. dw_pageretr.deleterow(uc_row)
  2244. dw_pageretr.postevent(rowfocuschanged!)
  2245. end if
  2246. end event
  2247. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_inware_buy_th_wareaudit
  2248. integer x = 645
  2249. end type
  2250. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  2251. string menustr
  2252. menustr="Text=增加备注~tEvent=ue_addzy"
  2253. menustr=menustr + "|" + "Text=-"
  2254. menustr=menustr + "|" + "Text=财务审核~tEvent=ue_secauditing"
  2255. menustr=menustr + "|" + "Text=财务撤审~tEvent=ue_csecauditing"
  2256. menustr=menustr + "|" + "Text=-"
  2257. menustr=menustr + "|" + "Text=复制单据~tEvent=ue_bill_copy"
  2258. menustr=menustr + "|" + "Text=粘贴单据~tEvent=ue_bill_paste"
  2259. menustr = menustr + "|" + "Text=-"
  2260. menustr = menustr + "|" + "Text=查看附件~tEvent=ue_fj_view"
  2261. menustr = menustr + "|" + "Text=添加附件~tEvent=ue_fj_edit"
  2262. menustr = menustr + "|" + "Text=-"
  2263. menustr = menustr + "|" + "Text=辅助计算~tEvent=ue_cpml_qty"
  2264. if len(trim(menustr))<>0 then
  2265. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  2266. dmPopupMenu.mf_BuildMenu(This, menustr)
  2267. dmPopupMenu.mf_PopMenu()
  2268. Destroy dmPopupMenu
  2269. end if
  2270. end event
  2271. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_inware_buy_th_wareaudit
  2272. integer x = 302
  2273. end type
  2274. event cb_auditing::clicked;call super::clicked;IF Not (f_power_ind(548) OR f_power_ind(544) OR f_power_ind(1316) ) THEN
  2275. MessageBox('提示','你没有使用权限!', Information!, OK! )
  2276. RETURN
  2277. END IF
  2278. Long ll_i,ll_billid
  2279. Int li_flag,li_secflag
  2280. Long ll_suc,ll_fail
  2281. String arg_msg = ''
  2282. Long pagerert_row
  2283. IF dw_edit_mode THEN RETURN
  2284. IF NOT KeyDown(KeyControl!) THEN
  2285. pagerert_row = dw_pageretr.GetRow()
  2286. IF pagerert_row <= 0 THEN
  2287. MessageBox('提示','请选定当前目标单据!', Information!, OK! )
  2288. RETURN
  2289. END IF
  2290. IF MessageBox ("询问","是否确定要审核当前单据?",question!,yesno! ) = 2 THEN RETURN
  2291. IF uo_ware.getinfo(cur_scid,dw_pageretr.Object.inwareid[pagerert_row],arg_msg) = 0 THEN
  2292. MessageBox('错误',arg_msg, StopSign!, OK! )
  2293. RETURN
  2294. END IF
  2295. IF dw_pageretr.Object.flag[pagerert_row] = 0 THEN
  2296. IF uo_ware.auditing(TRUE,arg_msg) = 0 THEN
  2297. MessageBox('错误',arg_msg, StopSign!, OK! )
  2298. ELSE
  2299. MessageBox('提示','审核成功!', Information!, OK! )
  2300. wf_refresh_curuc(cur_scid,dw_pageretr.Object.inwareid[pagerert_row])
  2301. END IF
  2302. END IF
  2303. ELSE
  2304. IF MessageBox ("询问","是否确定要批审核列表中未审核的单据?",question!,yesno! ) = 2 THEN RETURN
  2305. dw_pageretr.AcceptText()
  2306. li_flag = dw_pageretr.Object.flag[dw_pageretr.GetRow()]
  2307. li_secflag = dw_pageretr.Object.u_inware_secflag[dw_pageretr.GetRow()]
  2308. Open(w_sys_wait_jdt) //初始化进度条
  2309. w_sys_wait_jdt.Show()
  2310. w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
  2311. IF li_flag = 0 THEN
  2312. FOR ll_i = 1 TO dw_pageretr.RowCount()
  2313. li_flag = dw_pageretr.Object.flag[ll_i]
  2314. li_secflag = dw_pageretr.Object.u_inware_secflag[ll_i]
  2315. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.inwarecode[ll_i] + " 正在审核..." //进度信息
  2316. IF li_flag = 1 THEN CONTINUE
  2317. ll_billid = dw_pageretr.Object.inwareid[ll_i]
  2318. IF uo_ware.getinfo(cur_scid,ll_billid,arg_msg) = 0 THEN
  2319. ll_fail++
  2320. CONTINUE
  2321. END IF
  2322. IF uo_ware.auditing(TRUE,arg_msg) = 0 THEN
  2323. ll_fail++
  2324. CONTINUE
  2325. END IF
  2326. ll_suc++
  2327. w_sys_wait_jdt.wf_inc(ll_i) //进度
  2328. NEXT
  2329. Close(w_sys_wait_jdt)
  2330. MessageBox('提示','仓库批审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail))
  2331. PARENT.TriggerEvent('retrieve_pageretr')
  2332. END IF
  2333. wf_flagstatus_rf()
  2334. END IF
  2335. end event
  2336. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_inware_buy_th_wareaudit
  2337. boolean visible = false
  2338. end type
  2339. event cb_xm::clicked;is_mx_menustr = ''
  2340. is_mx_menustr = is_mx_menustr + "|" + "Text=-"
  2341. is_mx_menustr = is_mx_menustr + "|" + "Text=批设定公式~tEvent=ue_p_formula_set"
  2342. is_mx_menustr = is_mx_menustr + "|" + "Text=批由公式计算数量~tEvent=ue_p_cmpl_qty"
  2343. is_mx_menustr = is_mx_menustr + "|" + "Text=批由辅数和配置计算数量~tEvent=ue_cmpl_status_qty"
  2344. call super::clicked
  2345. end event
  2346. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_inware_buy_th_wareaudit
  2347. end type
  2348. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_inware_buy_th_wareaudit
  2349. integer x = 1280
  2350. end type
  2351. type cb_help from w_publ_1ton_share_detail`cb_help within w_inware_buy_th_wareaudit
  2352. integer x = 1582
  2353. end type
  2354. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_inware_buy_th_wareaudit
  2355. integer x = 494
  2356. end type
  2357. event cb_auditing_cancel::clicked;call super::clicked;
  2358. IF dw_edit_mode THEN RETURN
  2359. String arg_msg = ''
  2360. Long pagerert_row
  2361. pagerert_row = dw_pageretr.GetRow()
  2362. IF pagerert_row <= 0 THEN
  2363. MessageBox('提示','请选定当前目标单据!', Information!, OK! )
  2364. RETURN
  2365. END IF
  2366. IF MessageBox ("询问","是否确定要"+THIS.Text+"当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  2367. IF uo_ware.getinfo(cur_scid,dw_pageretr.Object.inwareid [pagerert_row],arg_msg) = 0 THEN
  2368. MessageBox('错误',arg_msg, StopSign!, OK! )
  2369. RETURN
  2370. END IF
  2371. IF dw_pageretr.Object.flag[pagerert_row] = 1 and dw_pageretr.Object.u_inware_secflag[pagerert_row] = 0 THEN
  2372. IF Not (f_power_ind(879) OR f_power_ind(880) OR f_power_ind(1317) ) THEN
  2373. MessageBox('提示','你没有使用权限!', Information!, OK! )
  2374. RETURN
  2375. END IF
  2376. IF uo_ware.c_auditing(TRUE,arg_msg) = 0 THEN
  2377. MessageBox('错误',arg_msg, StopSign!, OK! )
  2378. ELSE
  2379. MessageBox('提示','撤审成功!', Information!, OK! )
  2380. //日志
  2381. String ls_code,ls_opemp,ls_outpart
  2382. ls_code = dw_pageretr.Object.inwarecode[pagerert_row]
  2383. ls_opemp = dw_pageretr.Object.u_inware_opemp[pagerert_row]
  2384. ls_outpart = dw_pageretr.Object.part[pagerert_row]
  2385. f_setsysoplog('采购退货单','撤审'+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,TRUE)
  2386. //--
  2387. wf_refresh_curuc(cur_scid,dw_pageretr.Object.inwareid[pagerert_row])
  2388. END IF
  2389. END IF
  2390. end event
  2391. type p_msg from w_publ_1ton_share_detail`p_msg within w_inware_buy_th_wareaudit
  2392. end type
  2393. type p_help from w_publ_1ton_share_detail`p_help within w_inware_buy_th_wareaudit
  2394. end type
  2395. type p_encl from w_publ_1ton_share_detail`p_encl within w_inware_buy_th_wareaudit
  2396. end type
  2397. type p_other from w_publ_1ton_share_detail`p_other within w_inware_buy_th_wareaudit
  2398. end type
  2399. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_inware_buy_th_wareaudit
  2400. end type
  2401. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_inware_buy_th_wareaudit
  2402. end type
  2403. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_inware_buy_th_wareaudit
  2404. end type
  2405. type r_bar from w_publ_1ton_share_detail`r_bar within w_inware_buy_th_wareaudit
  2406. end type
  2407. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_inware_buy_th_wareaudit
  2408. end type
  2409. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_inware_buy_th_wareaudit
  2410. end type
  2411. type ddlb_scid from uo_ddlb_scid within w_inware_buy_th_wareaudit
  2412. integer x = 937
  2413. integer y = 184
  2414. integer width = 549
  2415. integer height = 1120
  2416. integer taborder = 20
  2417. boolean bringtotop = true
  2418. end type
  2419. event constructor;call super::constructor;cur_scid=this.uo_scid
  2420. end event
  2421. event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
  2422. parent.triggerevent("retrieve_pageretr")
  2423. end event
  2424. type cbx_his from checkbox within w_inware_buy_th_wareaudit
  2425. boolean visible = false
  2426. integer x = 2386
  2427. integer y = 196
  2428. integer width = 466
  2429. integer height = 60
  2430. boolean bringtotop = true
  2431. integer textsize = -9
  2432. integer weight = 400
  2433. fontcharset fontcharset = gb2312charset!
  2434. fontpitch fontpitch = variable!
  2435. string facename = "宋体"
  2436. long textcolor = 16711680
  2437. long backcolor = 134217739
  2438. string text = "选收货历史"
  2439. end type
  2440. type st_3 from statictext within w_inware_buy_th_wareaudit
  2441. integer x = 1499
  2442. integer y = 200
  2443. integer width = 192
  2444. integer height = 48
  2445. integer textsize = -9
  2446. integer weight = 400
  2447. fontcharset fontcharset = gb2312charset!
  2448. fontpitch fontpitch = variable!
  2449. string facename = "宋体"
  2450. long textcolor = 33554432
  2451. long backcolor = 134217739
  2452. string text = "状 态"
  2453. boolean focusrectangle = false
  2454. end type
  2455. type st_2 from statictext within w_inware_buy_th_wareaudit
  2456. integer x = 754
  2457. integer y = 200
  2458. integer width = 192
  2459. integer height = 48
  2460. integer textsize = -9
  2461. integer weight = 400
  2462. fontcharset fontcharset = gb2312charset!
  2463. fontpitch fontpitch = variable!
  2464. string facename = "宋体"
  2465. long textcolor = 33554432
  2466. long backcolor = 134217739
  2467. string text = "分 部"
  2468. boolean focusrectangle = false
  2469. end type
  2470. type ddlb_status from dropdownlistbox within w_inware_buy_th_wareaudit
  2471. integer x = 1682
  2472. integer y = 184
  2473. integer width = 549
  2474. integer height = 556
  2475. integer taborder = 40
  2476. boolean bringtotop = true
  2477. integer textsize = -9
  2478. integer weight = 400
  2479. fontcharset fontcharset = gb2312charset!
  2480. fontpitch fontpitch = variable!
  2481. string facename = "宋体"
  2482. long textcolor = 33554432
  2483. string text = "[全部]"
  2484. boolean sorted = false
  2485. string item[] = {"[全部]","待仓库审","已仓库审"}
  2486. borderstyle borderstyle = stylelowered!
  2487. end type
  2488. event selectionchanged;IF Index = 1 THEN
  2489. cur_flag = -1
  2490. ELSEIF Index = 2 THEN
  2491. cur_flag = 0
  2492. ELSEIF Index = 3 THEN
  2493. cur_flag = 1
  2494. END IF
  2495. PARENT.TriggerEvent('retrieve_pageretr')
  2496. end event