w_outware_scll.srw 82 KB

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