w_scwg_taskwork_2_person.srw 76 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860
  1. $PBExportHeader$w_scwg_taskwork_2_person.srw
  2. forward
  3. global type w_scwg_taskwork_2_person from w_publ_1ton_share_detail
  4. end type
  5. type st_4 from statictext within w_scwg_taskwork_2_person
  6. end type
  7. type ddlb_scid from uo_ddlb_scid within w_scwg_taskwork_2_person
  8. end type
  9. type ddlb_status from dropdownlistbox within w_scwg_taskwork_2_person
  10. end type
  11. type st_2 from statictext within w_scwg_taskwork_2_person
  12. end type
  13. type st_3 from statictext within w_scwg_taskwork_2_person
  14. end type
  15. type em_dftdate from editmask within w_scwg_taskwork_2_person
  16. end type
  17. type st_5 from statictext within w_scwg_taskwork_2_person
  18. end type
  19. type em_mth from editmask within w_scwg_taskwork_2_person
  20. end type
  21. type cb_affirm from uo_imflatbutton within w_scwg_taskwork_2_person
  22. end type
  23. type cb_cancel_affirm from uo_imflatbutton within w_scwg_taskwork_2_person
  24. end type
  25. end forward
  26. global type w_scwg_taskwork_2_person from w_publ_1ton_share_detail
  27. string title = "个人产品工序计件单"
  28. boolean maxbox = true
  29. windowstate windowstate = maximized!
  30. event insert_childrow ( )
  31. event f10 ( )
  32. event ue_p_pro ( )
  33. event ue_audit_all ( )
  34. event ue_caudit_all ( )
  35. event ue_addqty_to_qty ( )
  36. st_4 st_4
  37. ddlb_scid ddlb_scid
  38. ddlb_status ddlb_status
  39. st_2 st_2
  40. st_3 st_3
  41. em_dftdate em_dftdate
  42. st_5 st_5
  43. em_mth em_mth
  44. cb_affirm cb_affirm
  45. cb_cancel_affirm cb_cancel_affirm
  46. end type
  47. global w_scwg_taskwork_2_person w_scwg_taskwork_2_person
  48. type variables
  49. Long cur_scid_arr[],cur_scid
  50. Long cur_flag = -1
  51. Long cur_affirmflag = -1
  52. uo_scwg_taskwork_2 uo_ware
  53. decimal lds_orderqty
  54. end variables
  55. forward prototypes
  56. public function integer wf_refresh_curuc (long arg_billid)
  57. public function integer wf_flagstatus_rf ()
  58. public function decimal wf_cmp_auto_proqty (long arg_mtrlid, string arg_procode, integer arg_scid, long arg_orderid, long arg_relprintid, long arg_billid)
  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_p_pro();IF Not dw_edit_mode THEN
  66. MessageBox('系统提示','非编辑状态下不能使用')
  67. RETURN
  68. END IF
  69. IF MessageBox(publ_operator,'是否要确定要批设定工序', question!, YesNo!, 2) = 2 THEN
  70. RETURN
  71. END IF
  72. Long ll_i,uc_row
  73. Long ll_scid,ll_orderid,ll_mtrlid
  74. Long cnt = 0
  75. String ls_procode,ls_proname
  76. Decimal ld_price
  77. Long llk_mtrlid,llk_relscid,llk_orderid,llk_relprintid,llk_billid
  78. String lsk_procode
  79. uc_row = dw_pageretr.GetRow()
  80. IF uc_row <= 0 THEN RETURN
  81. dw_child.AcceptText()
  82. IF dw_child.RowCount() = 0 THEN RETURN
  83. IF cur_scid < 0 THEN
  84. ll_scid = dw_pageretr.Object.scid[uc_row]
  85. ELSE
  86. ll_scid = cur_scid
  87. END IF
  88. FOR ll_i = 1 To dw_child.RowCount()
  89. IF dw_child.Object.procode[1] = '' THEN RETURN
  90. ls_procode = dw_child.Object.procode[1]
  91. ls_proname = dw_child.Object.proname[1]
  92. IF ll_i = 1 THEN CONTINUE
  93. IF sys_option_taskwork_procode_order = 0 Or dw_child.Object.ifrel[ll_i] = 0 THEN
  94. IF dw_child.Object.mtrlid[ll_i] = 0 THEN CONTINUE
  95. ll_mtrlid = dw_child.Object.mtrlid[ll_i]
  96. cnt = 0
  97. SELECT count(*) INTO :cnt
  98. FROM
  99. (SELECT u_sc_workprice.procode as procode,
  100. u_sc_workprice.Proname as proname
  101. FROM u_sc_workprice
  102. WHERE u_sc_workprice.Mtrlid = :ll_mtrlid
  103. UNION ALL
  104. SELECT u_sc_workprocedure.code as procode,
  105. u_sc_workprocedure.name as Proname
  106. FROM u_sc_workprocedure
  107. WHERE ( u_sc_workprocedure.sysflag = 0 )
  108. AND u_sc_workprocedure.ifpubl = 1) a
  109. WHERE a.procode = :ls_procode
  110. And a.proname = :ls_proname;
  111. IF sqlca.SQLCode <> 0 THEN CONTINUE
  112. IF cnt = 0 THEN CONTINUE
  113. SELECT top 1 a.workPrice INTO :ld_price
  114. FROM
  115. (SELECT u_sc_workprice.workPrice as workPrice,
  116. u_sc_workprice.procode as procode,
  117. u_sc_workprice.Proname as proname
  118. FROM u_sc_workprice
  119. WHERE u_sc_workprice.Mtrlid = :ll_mtrlid
  120. UNION ALL
  121. SELECT u_sc_workprocedure.workPrice as workPrice,
  122. u_sc_workprocedure.code as procode,
  123. u_sc_workprocedure.name as proname
  124. FROM u_sc_workprocedure
  125. WHERE ( u_sc_workprocedure.sysflag = 0 )
  126. AND u_sc_workprocedure.ifpubl = 1) a
  127. WHERE a.procode = :ls_procode
  128. And a.proname = :ls_proname;
  129. IF sqlca.SQLCode <> 0 THEN
  130. ld_price = 0
  131. END IF
  132. ELSE
  133. IF dw_child.Object.u_scwg_taskwork_2_mx_orderid[ll_i] = 0 THEN CONTINUE
  134. ll_orderid = dw_child.Object.u_scwg_taskwork_2_mx_orderid[ll_i]
  135. ll_mtrlid = dw_child.Object.mtrlid[ll_i]
  136. llk_relprintid = Long(dw_child.Object.u_scwg_taskwork_2_mx_relprintid[ll_i])
  137. cnt = 0
  138. // SELECT count(*) INTO :cnt
  139. // FROM U_OrderRqwp
  140. // WHERE ( U_OrderRqwp.scid = :ll_scid ) AND
  141. // ( U_OrderRqwp.orderid = :ll_orderid ) AND
  142. // ( U_OrderRqwp.procode = :ls_procode ) AND
  143. // ( U_OrderRqwp.proname = :ls_proname);
  144. SELECT count(*) INTO :cnt
  145. FROM U_OrderRqwp
  146. WHERE scid = :ll_scid
  147. AND printid = :llk_relprintid
  148. AND taskid = :ll_orderid
  149. AND mtrlid = :ll_mtrlid
  150. And procode = :ls_procode;
  151. IF sqlca.SQLCode <> 0 THEN CONTINUE
  152. IF cnt = 0 THEN CONTINUE
  153. // SELECT workprice INTO :ld_price
  154. // FROM u_orderrqwp
  155. // WHERE ( U_OrderRqwp.scid = :ll_scid ) AND
  156. // ( U_OrderRqwp.orderid = :ll_orderid ) AND
  157. // ( U_OrderRqwp.procode = :ls_procode ) AND
  158. // ( U_OrderRqwp.proname = :ls_proname);
  159. SELECT workprice INTO :ld_price
  160. FROM u_orderrqwp
  161. WHERE scid = :ll_scid
  162. AND printid = :llk_relprintid
  163. AND taskid = :ll_orderid
  164. AND mtrlid = :ll_mtrlid
  165. And procode = :ls_procode;
  166. IF sqlca.SQLCode <> 0 THEN
  167. ld_price = 0
  168. END IF
  169. END IF
  170. dw_child.Object.procode[ll_i] = dw_child.Object.procode[1]
  171. dw_child.Object.proname[ll_i] = dw_child.Object.proname[1]
  172. dw_child.Object.price[ll_i] = ld_price
  173. NEXT
  174. dw_child.AcceptText()
  175. FOR ll_i = 1 To dw_child.RowCount()
  176. llk_mtrlid = Long(dw_child.Object.mtrlid[ll_i])
  177. lsk_procode = String(dw_child.Object.procode[ll_i])
  178. llk_relscid = Long(dw_child.Object.u_scwg_taskwork_2_mx_relscid[ll_i])
  179. llk_orderid = Long(dw_child.Object.u_scwg_taskwork_2_mx_orderid[ll_i])
  180. llk_relprintid = Long(dw_child.Object.u_scwg_taskwork_2_mx_relprintid[ll_i])
  181. IF dw_pageretr.GetRow() > 0 THEN
  182. llk_billid = Long(dw_pageretr.Object.billid[dw_pageretr.GetRow()])
  183. END IF
  184. Decimal rtn_qty
  185. rtn_qty = wf_cmp_auto_proqty(llk_mtrlid,lsk_procode,llk_relscid,llk_orderid,llk_relprintid,llk_billid)
  186. if rtn_qty = 0 then continue
  187. dw_child.Object.qty[ll_i] = rtn_qty
  188. NEXT
  189. end event
  190. event ue_audit_all();IF NOT f_power_ind(1368) THEN
  191. MessageBox(publ_operator,'你没有使用权限!')
  192. RETURN
  193. END IF
  194. s_taskwork_abnormity_audit s_audit
  195. OpenWithParm(w_scwg_taskwork_2_person_p_audit,1)
  196. s_audit = Message.PowerObjectParm
  197. IF s_audit.audit_month = 0 THEN RETURN
  198. String arg_msg
  199. IF uo_ware.auditing_1(s_audit.audit_wageid,s_audit.audit_month,arg_msg) = 0 THEN
  200. MessageBox(publ_operator,'计件单审核失败,原因>>'+arg_msg)
  201. RETURN
  202. END IF
  203. MessageBox(publ_operator,'计件单审核成功')
  204. this.TriggerEvent('retrieve_pageretr')
  205. end event
  206. event ue_caudit_all();IF NOT f_power_ind(1369) THEN
  207. MessageBox(publ_operator,'你没有使用权限!')
  208. RETURN
  209. END IF
  210. s_taskwork_abnormity_audit s_audit
  211. OpenWithParm(w_scwg_taskwork_2_person_p_audit,0)
  212. s_audit = Message.PowerObjectParm
  213. IF s_audit.audit_month = 0 THEN RETURN
  214. String arg_msg
  215. IF uo_ware.c_auditing_1(s_audit.audit_wageid,s_audit.audit_month,arg_msg) = 0 THEN
  216. MessageBox(publ_operator,'计件单撤审失败,原因>>'+arg_msg)
  217. RETURN
  218. END IF
  219. MessageBox(publ_operator,'计件单撤审成功')
  220. THIS.TriggerEvent('retrieve_pageretr')
  221. end event
  222. event ue_addqty_to_qty();//
  223. Long ll_row
  224. Long ll_mtrlid
  225. String ls_procode
  226. decimal arg_proqty
  227. dw_child.AcceptText()
  228. ll_row = dw_child.GetRow()
  229. ll_mtrlid = Long(dw_child.Object.mtrlid[ll_row])
  230. ls_procode = Trim(dw_child.Object.procode[ll_row])
  231. IF ll_mtrlid <= 0 THEN RETURN
  232. IF ls_procode = '' THEN RETURN
  233. arg_proqty=0
  234. SELECT workqty INTO :arg_proqty
  235. FROM u_sc_workprice
  236. WHERE mtrlid = :ll_mtrlid
  237. And procode = :ls_procode;
  238. dw_child.Object.qty[ll_row]=dec(dw_child.Object.u_scwg_taskwork_2_mx_addqty[ll_row]) * dec(arg_proqty)
  239. end event
  240. public function integer wf_refresh_curuc (long arg_billid);IF arg_billid <= 0 OR IsNull(arg_billid) THEN RETURN 0
  241. Long uc_row
  242. uc_row = dw_pageretr.GetRow()
  243. IF uc_row <= 0 THEN RETURN 0
  244. Long billid
  245. DateTime billdate
  246. Long wagemth
  247. String rep
  248. String relcode
  249. String dscrp
  250. Long scid
  251. String billcode
  252. Long wrkgrpid
  253. Int flag
  254. String opemp
  255. DateTime opdate
  256. String auditingrep
  257. DateTime auditingdate
  258. Long wageid
  259. DateTime moddate
  260. String modemp
  261. string affirmemp
  262. DateTime affirmdate
  263. int affirmflag
  264. string empname,empcode
  265. SELECT u_scwg_taskwork_2.wagemth,
  266. u_scwg_taskwork_2.billdate,
  267. u_scwg_taskwork_2.relcode,
  268. u_scwg_taskwork_2.rep,
  269. u_scwg_taskwork_2.dscrp,
  270. u_scwg_taskwork_2.scid,
  271. u_scwg_taskwork_2.billid,
  272. u_scwg_taskwork_2.wageid,
  273. u_scwg_taskwork_2.wrkGrpid,
  274. u_scwg_taskwork_2.billcode,
  275. u_scwg_taskwork_2.opdate,
  276. u_scwg_taskwork_2.opemp,
  277. u_scwg_taskwork_2.moddate,
  278. u_scwg_taskwork_2.modemp,
  279. u_scwg_taskwork_2.flag,
  280. u_scwg_taskwork_2.auditingdate,
  281. u_scwg_taskwork_2.auditingrep,
  282. u_scwg_taskwork_2.affirmflag,
  283. u_scwg_taskwork_2.affirmdate,
  284. u_scwg_taskwork_2.affirmemp,
  285. u_scwg_taskwork_2.printnum,
  286. u_rs_empinfo.empcode,
  287. u_rs_empinfo.empname
  288. INTO
  289. :wagemth,
  290. :billdate,
  291. :relcode,
  292. :rep,
  293. :dscrp,
  294. :scid,
  295. :billid,
  296. :wageid,
  297. :wrkgrpid,
  298. :billcode,
  299. :opdate,
  300. :opemp,
  301. :moddate,
  302. :modemp,
  303. :flag,
  304. :auditingdate,
  305. :auditingrep,
  306. :affirmflag,
  307. :affirmdate,
  308. :affirmemp,
  309. :printnum,
  310. :empcode ,
  311. :empname
  312. FROM u_scwg_taskwork_2,u_rs_empinfo
  313. WHERE (u_scwg_taskwork_2.wrkgrpid = u_rs_empinfo.empid)
  314. and ( u_scwg_taskwork_2.billid = :arg_billid );
  315. IF sqlca.SQLCode <> 0 THEN
  316. MessageBox('系统提示',"查询计件单操作失败"+sqlca.SQLErrText)
  317. RETURN 0
  318. END IF
  319. dw_pageretr.Object.billid[uc_row] = arg_billid
  320. dw_pageretr.Object.billdate[uc_row] = billdate
  321. dw_pageretr.Object.wagemth[uc_row] = wagemth
  322. dw_pageretr.Object.rep[uc_row] = rep
  323. dw_pageretr.Object.relcode[uc_row] = relcode
  324. dw_pageretr.Object.dscrp[uc_row] = dscrp
  325. dw_pageretr.Object.scid[uc_row] = scid
  326. dw_pageretr.Object.billcode[uc_row] = billcode
  327. dw_pageretr.Object.wrkgrpid[uc_row] = wrkgrpid
  328. dw_pageretr.Object.flag[uc_row] = flag
  329. dw_pageretr.Object.opemp[uc_row] = opemp
  330. dw_pageretr.Object.opdate[uc_row] = opdate
  331. dw_pageretr.Object.modemp[uc_row] = modemp
  332. dw_pageretr.Object.moddate[uc_row] = moddate
  333. dw_pageretr.Object.auditingrep[uc_row] = auditingrep
  334. dw_pageretr.Object.auditingdate[uc_row] = auditingdate
  335. dw_pageretr.Object.u_scwg_taskwork_2_affirmemp[uc_row] = affirmemp
  336. dw_pageretr.Object.u_scwg_taskwork_2_affirmdate[uc_row] = affirmdate
  337. dw_pageretr.Object.u_scwg_taskwork_2_affirmflag[uc_row] = affirmflag
  338. dw_pageretr.Object.u_rs_empinfo_empcode[uc_row] = empcode
  339. dw_pageretr.Object.u_rs_empinfo_empname[uc_row] = empname
  340. dw_pageretr.Object.wageid[uc_row] = wageid
  341. dw_uc.Reset()
  342. dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  343. wf_flagstatus_rf()
  344. dw_pageretr.ResetUpdate()
  345. dw_pageretr.SetRedraw(TRUE)
  346. RETURN 1
  347. end function
  348. public function integer wf_flagstatus_rf ();Long pagerert_row
  349. Int li_flag,li_affirmflag
  350. pagerert_row = dw_pageretr.GetRow()
  351. IF pagerert_row <= 0 THEN
  352. cb_auditing.Enabled = False
  353. cb_auditing_cancel.Enabled = False
  354. cb_affirm.Enabled = False
  355. cb_cancel_affirm.Enabled = False
  356. GOTO ext
  357. END IF
  358. li_flag = dw_pageretr.Object.flag[pagerert_row]
  359. li_affirmflag = dw_pageretr.Object.u_scwg_taskwork_2_affirmflag[pagerert_row]
  360. IF dw_edit_mode THEN
  361. cb_auditing.Enabled = False
  362. cb_auditing_cancel.Enabled = False
  363. cb_affirm.Enabled = False
  364. cb_cancel_affirm.Enabled = False
  365. ELSE
  366. cb_auditing.Enabled = True
  367. cb_auditing_cancel.Enabled = True
  368. IF sys_option_taskwork_not_affirm = 0 THEN
  369. IF li_affirmflag = 0 THEN
  370. cb_affirm.Enabled = True
  371. cb_cancel_affirm.Enabled = False
  372. ELSEIF li_affirmflag = 1 And li_flag = 0 THEN
  373. cb_affirm.Enabled = False
  374. cb_cancel_affirm.Enabled = True
  375. ELSEIF li_affirmflag = 1 And li_flag = 1 THEN
  376. cb_affirm.Enabled = False
  377. cb_cancel_affirm.Enabled = False
  378. END IF
  379. ELSE
  380. cb_affirm.Enabled = False
  381. cb_cancel_affirm.Enabled = False
  382. END IF
  383. IF li_flag = 0 THEN
  384. cb_auditing.Enabled = True
  385. cb_auditing_cancel.Enabled = False
  386. ELSE
  387. cb_auditing.Enabled = False
  388. cb_auditing_cancel.Enabled = True
  389. END IF
  390. END IF
  391. ext:
  392. RETURN 0
  393. end function
  394. public function decimal wf_cmp_auto_proqty (long arg_mtrlid, string arg_procode, integer arg_scid, long arg_orderid, long arg_relprintid, long arg_billid);//wf_cmp_auto_proqty(arg_mtrlid,arg_procode,arg_scid,arg_orderid,arg_relprintid)
  395. Decimal rslt
  396. //工序表基础数 arg_proqty
  397. Decimal arg_proqty
  398. arg_proqty = 0
  399. SELECT workqty INTO :arg_proqty
  400. FROM u_sc_workprice
  401. WHERE mtrlid = :arg_mtrlid
  402. And procode = :arg_procode;
  403. IF sqlca.SQLCode <> 0 THEN
  404. // MessageBox('提示', '查询工序:'+arg_procode+',工价表数量失败,'+sqlca.SQLErrText)
  405. rslt = 0
  406. GOTO ext
  407. END IF
  408. //可计件总数 lde_orderqty
  409. String ls_ordercode = ''
  410. Decimal lde_orderqty = 0
  411. Decimal lde_assignqty = 0
  412. SELECT u_SaleTask.taskcode,u_SaleTaskMx.orderqty, u_SaleTaskMx.assignqty
  413. INTO :ls_ordercode,:lde_orderqty, :lde_assignqty
  414. FROM u_SaleTaskMx,u_SaleTask
  415. WHERE u_SaleTaskMx.scid = :arg_scid
  416. AND u_SaleTaskMx.taskid = :arg_orderid
  417. AND u_SaleTaskMx.printid = :arg_relprintid
  418. AND u_SaleTaskMx.scid = u_SaleTask.scid
  419. And u_SaleTaskMx.taskid = u_SaleTask.taskid ;
  420. IF sqlca.SQLCode <> 0 THEN
  421. // MessageBox('提示', '查询订单号失败,'+sqlca.SQLErrText)
  422. rslt = 0
  423. GOTO ext
  424. END IF
  425. IF sys_opton_taskwork_gz_qty = 0 THEN //用已进仓数限制 081
  426. lde_orderqty=lde_assignqty
  427. END IF
  428. //计件已完成数 ld_finish_qty
  429. Decimal lde_workqty,ld_finish_qty
  430. //IF sys_option_add_orderrqwp_fqty = 1 THEN
  431. //查数量顺带查是否有该工序
  432. // if sys_version = 802003 then //只有工业版+才有mrp运算
  433. SELECT proqty, finishqty
  434. INTO :lde_workqty, :ld_finish_qty
  435. FROM U_OrderRqwp
  436. WHERE scid = :arg_scid
  437. AND printid = :arg_relprintid
  438. AND taskid = :arg_orderid
  439. AND mtrlid = :arg_mtrlid
  440. And procode = :arg_procode;
  441. IF sqlca.SQLCode <> 0 THEN
  442. // MessageBox('提示', '查询工序:'+arg_procode+',信息失败,'+sqlca.SQLErrText)
  443. //
  444. // rslt = 0
  445. // GOTO ext
  446. END IF
  447. //END IF
  448. //个人产品工序 已开单数 ld_Otherbill_qty
  449. Decimal ld_Otherbill_qty = 0
  450. SELECT isnull(sum(qty),0) INTO :ld_Otherbill_qty
  451. FROM u_scwg_taskwork_2,u_scwg_taskwork_2_mx
  452. WHERE u_scwg_taskwork_2_mx.billid = u_scwg_taskwork_2.billid
  453. AND u_scwg_taskwork_2_mx.mtrlid = :arg_mtrlid
  454. AND u_scwg_taskwork_2_mx.orderid = :arg_orderid
  455. AND u_scwg_taskwork_2_mx.relprintid = :arg_relprintid
  456. AND u_scwg_taskwork_2_mx.relscid = :arg_scid
  457. AND u_scwg_taskwork_2_mx.procode = :arg_procode
  458. AND u_scwg_taskwork_2_mx.billid <> :arg_billid
  459. And (u_scwg_taskwork_2.affirmflag = 0 Or :sys_option_taskwork_not_affirm = 1 );
  460. IF sqlca.SQLCode <> 0 THEN
  461. // MessageBox('提示', '查询工序:'+arg_procode+',其它已开单未确认数失败,'+sqlca.SQLErrText)
  462. // rslt = 0
  463. // GOTO ext
  464. END IF
  465. //产品个人工序 已开单数 ld_Otherbill_qty_2
  466. Decimal ld_Otherbill_qty_2 = 0
  467. SELECT isnull(sum(Amount),0) INTO :ld_Otherbill_qty_2
  468. FROM u_sc_taskworkmx,u_sc_taskwork
  469. WHERE u_sc_taskworkmx.billid = u_sc_taskwork.billid
  470. AND u_sc_taskworkmx.scid = u_sc_taskwork.scid
  471. AND u_sc_taskwork.mtrlid = :arg_mtrlid
  472. AND u_sc_taskwork.orderid = :arg_orderid
  473. AND u_sc_taskwork.relid = :arg_relprintid
  474. AND u_sc_taskworkmx.procode = :arg_procode
  475. And (u_sc_taskwork.affirmflag = 0 Or :sys_option_taskwork_not_affirm = 1 );
  476. IF sqlca.SQLCode <> 0 THEN
  477. // MessageBox('提示', '查询工序:'+arg_procode+',产品个人计件单统计表开单未确认数失败,'+sqlca.SQLErrText)
  478. // rslt = 0
  479. // GOTO ext
  480. END IF
  481. IF IsNull(arg_proqty) THEN arg_proqty = 0 //工序表基础数
  482. IF IsNull(lde_orderqty) THEN lde_orderqty = 0 //可计件总数
  483. IF IsNull(ld_finish_qty) THEN ld_finish_qty = 0 //计件已完成数
  484. IF IsNull(ld_Otherbill_qty) THEN ld_Otherbill_qty = 0 //个人产品工序 已开单数
  485. IF IsNull(ld_Otherbill_qty_2) THEN ld_Otherbill_qty_2 = 0 //产品个人工序 已开单数
  486. rslt = lde_orderqty * arg_proqty - ld_finish_qty - ld_Otherbill_qty - ld_Otherbill_qty_2
  487. IF rslt < 0 THEN rslt = 0
  488. ext:
  489. RETURN rslt
  490. end function
  491. on w_scwg_taskwork_2_person.create
  492. int iCurrent
  493. call super::create
  494. this.st_4=create st_4
  495. this.ddlb_scid=create ddlb_scid
  496. this.ddlb_status=create ddlb_status
  497. this.st_2=create st_2
  498. this.st_3=create st_3
  499. this.em_dftdate=create em_dftdate
  500. this.st_5=create st_5
  501. this.em_mth=create em_mth
  502. this.cb_affirm=create cb_affirm
  503. this.cb_cancel_affirm=create cb_cancel_affirm
  504. iCurrent=UpperBound(this.Control)
  505. this.Control[iCurrent+1]=this.st_4
  506. this.Control[iCurrent+2]=this.ddlb_scid
  507. this.Control[iCurrent+3]=this.ddlb_status
  508. this.Control[iCurrent+4]=this.st_2
  509. this.Control[iCurrent+5]=this.st_3
  510. this.Control[iCurrent+6]=this.em_dftdate
  511. this.Control[iCurrent+7]=this.st_5
  512. this.Control[iCurrent+8]=this.em_mth
  513. this.Control[iCurrent+9]=this.cb_affirm
  514. this.Control[iCurrent+10]=this.cb_cancel_affirm
  515. end on
  516. on w_scwg_taskwork_2_person.destroy
  517. call super::destroy
  518. destroy(this.st_4)
  519. destroy(this.ddlb_scid)
  520. destroy(this.ddlb_status)
  521. destroy(this.st_2)
  522. destroy(this.st_3)
  523. destroy(this.em_dftdate)
  524. destroy(this.st_5)
  525. destroy(this.em_mth)
  526. destroy(this.cb_affirm)
  527. destroy(this.cb_cancel_affirm)
  528. end on
  529. event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled
  530. Boolean cb_func_enabled,cb_retrieve_enabled
  531. cb_nextpage_enabled = cb_nextpage.Enabled
  532. cb_retrieveall_enabled = cb_retrieveall.Enabled
  533. cb_func_enabled = cb_func.Enabled
  534. cb_nextpage.Enabled = FALSE
  535. cb_retrieveall.Enabled = FALSE
  536. cb_func.Enabled = FALSE
  537. dw_uc.Retrieve()
  538. dw_pageretr.Retrieve(cur_scid_arr,cur_flag,cur_affirmflag)
  539. IF dw_pageretr.RowCount() > 0 THEN
  540. dw_pageretr.SetRow(1)
  541. dw_pageretr.TriggerEvent(RowFocusChanged!)
  542. END IF
  543. wf_flagstatus_rf()
  544. THIS.TriggerEvent('retrieve_childdw')
  545. THIS.TriggerEvent('retrieve_mx')
  546. cb_nextpage.Enabled = cb_nextpage_enabled
  547. cb_retrieveall.Enabled = cb_retrieveall_enabled
  548. cb_func.Enabled = cb_func_enabled
  549. end event
  550. event retrieve_childdw;Long row,billid,scid
  551. //dw_child.Reset()
  552. row = dw_pageretr.GetRow()
  553. dw_child.setfilter('')
  554. dw_child.filter()
  555. IF row > 0 THEN
  556. billid = dw_pageretr.Object.billid[row]
  557. scid = dw_pageretr.object.scid[row]
  558. dw_child.SetRedraw (FALSE)
  559. dw_child.Retrieve(billid,sys_option_taskwork_price_limit,scid)
  560. dw_child.SetRedraw (TRUE)
  561. ELSE
  562. dw_child.Reset()
  563. END IF
  564. end event
  565. event open;call super::open;uc_column_int = 8 //uc dw前8列可以编辑
  566. child_column_int = 13 //子dw前4列可以编辑
  567. uo_ware = CREATE uo_scwg_taskwork_2
  568. uo_ware.commit_transaction = sqlca
  569. em_dftdate.Text = String(Today(),'yyyy-mm-dd')
  570. s_hide_col s_col_price
  571. s_col_price.col_1 = 'price'
  572. s_col_price.col_2 = 'amt'
  573. f_hide_col(122,dw_child,s_col_price)
  574. end event
  575. event ue_f9;call super::ue_f9;IF NOT dw_edit_mode THEN RETURN
  576. Long uc_row
  577. s_empselect s_select
  578. uc_row = dw_uc.GetRow()
  579. IF uc_row <= 0 THEN RETURN
  580. dw_uc.SetRedraw(FALSE)
  581. IF NOT IsValid(w_empinfo_choice) THEN
  582. String tmp_empcode
  583. dw_uc.AcceptText()
  584. tmp_empcode = Trim(dw_uc.Object.u_rs_empinfo_empcode[uc_row])
  585. OpenWithParm(w_empinfo_choice,tmp_empcode)
  586. s_select = Message.PowerObjectParm //接受返回结构
  587. IF s_select.empid > 0 THEN
  588. dw_uc.Object.wrkgrpid[dw_uc.GetRow()] = s_select.empid
  589. dw_uc.Object.u_rs_empinfo_empcode[dw_uc.GetRow()] = s_select.empcode
  590. dw_uc.Object.u_rs_empinfo_empname[dw_uc.GetRow()] = s_select.empname
  591. dw_uc.Object.u_rs_empinfo_duty[dw_uc.GetRow()] = s_select.duty
  592. THIS.TriggerEvent('retrieve_mx')
  593. dw_uc.SetColumn('dscrp')
  594. END IF
  595. END IF
  596. dw_uc.SetRedraw(TRUE)
  597. end event
  598. event ue_f8;call super::ue_f8;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用
  599. IF NOT dw_edit_mode THEN RETURN
  600. Long child_row
  601. child_row = dw_child.GetRow()
  602. IF NOT IsValid(w_mtrldef_edit) THEN
  603. s_edit_index_tran s_ch_tran //传递参数使用
  604. s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  605. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  606. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  607. s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  608. s_ch_tran.if_select_all = TRUE
  609. s_ch_tran.b_long = 0
  610. s_ch_tran.c_long = -1
  611. s_ch_tran.f_long = 0
  612. Long chc = 1,ls_j
  613. dw_child.AcceptText()
  614. IF dw_child.GetRow() > 0 THEN s_ch_tran.arg_string_code = Trim(dw_child.Object.u_mtrldef_mtrlcode[dw_child.GetRow()])
  615. OpenWithParm(w_mtrldef_edit,s_ch_tran)
  616. s_mtrldef_array S_INSCUST
  617. S_INSCUST = Message.PowerObjectParm
  618. FOR ls_j = 1 TO UpperBound(S_INSCUST.mtrlid)
  619. IF S_INSCUST.mtrlid[ls_j] > 0 THEN
  620. IF dw_child.GetRow() > 0 THEN
  621. IF dw_child.Object.mtrlid[child_row] > 0 THEN
  622. child_row = dw_child.InsertRow (0)
  623. ELSE
  624. child_row = dw_child.GetRow()
  625. END IF
  626. ELSE
  627. child_row = dw_child.InsertRow (0)
  628. END IF
  629. dw_child.Object.mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
  630. dw_child.Object.u_mtrldef_mtrlcode[child_row] = S_INSCUST.mtrlcode[ls_j]
  631. dw_child.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.mtrlname[ls_j]
  632. dw_child.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j]
  633. dw_child.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j]
  634. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = S_INSCUST.mtrlsectype[ls_j]
  635. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = S_INSCUST.zxmtrlmode[ls_j]
  636. dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust.mtrltype[ls_j]
  637. dw_child.Object.u_mtrldef_handtype[child_row] = s_inscust.handtype[ls_j]
  638. Long li_statusflag
  639. Long li_woodcodeflag
  640. Long li_pcodeflag
  641. String ls_priceformula
  642. s_mtrldef_array arg_s_mtrldef
  643. IF f_find_mtrl(s_inscust.mtrlcode[ls_j],-1,arg_s_mtrldef) = 0 THEN
  644. li_statusflag = 0
  645. li_woodcodeflag = 0
  646. li_pcodeflag = 0
  647. ls_priceformula = ''
  648. ELSE
  649. li_statusflag = arg_s_mtrldef.statusflag[1]
  650. li_pcodeflag = arg_s_mtrldef.pcodeflag[1]
  651. li_woodcodeflag = arg_s_mtrldef.woodcodeflag[1]
  652. ls_priceformula = arg_s_mtrldef.priceformula[1]
  653. END IF
  654. dw_child.Object.u_mtrldef_statusflag[child_row] = li_statusflag
  655. dw_child.Object.u_mtrldef_woodcodeflag[child_row] = li_woodcodeflag
  656. dw_child.Object.u_mtrldef_pcodeflag[child_row] = li_pcodeflag
  657. END IF
  658. NEXT
  659. END IF
  660. dw_child.SetFocus()
  661. end event
  662. event ue_f10;call super::ue_f10;Long child_row
  663. Long ls_mtrlid
  664. dw_child.AcceptText()
  665. child_row = dw_child.GetRow()
  666. IF child_row <= 0 THEN
  667. MessageBox('系统提示','当前没有记录!')
  668. RETURN
  669. END IF
  670. ls_mtrlid = dw_child.Object.mtrlid[child_row]
  671. IF ls_mtrlid <= 0 THEN
  672. MessageBox('系统提示','产品不能为空!')
  673. RETURN
  674. END IF
  675. IF Not IsValid(w_workprice_workproduce_ch) THEN
  676. s_workpricetable s_inscust
  677. s_workpricetable_array s_select
  678. s_inscust.mtrlid = ls_mtrlid
  679. OpenWithParm(w_workprice_workproduce_ch,s_inscust)
  680. s_select = Message.PowerObjectParm
  681. IF UpperBound(s_select.procode) <= 0 THEN RETURN
  682. IF IsNull(s_select.procode[1]) Or s_select.procode[1] = '' THEN RETURN
  683. dw_child.SetRedraw(False)
  684. dw_child.Object.procode[child_row] = s_select.procode[1]
  685. dw_child.Object.proname[child_row] = s_select.proname[1]
  686. dw_child.Object.price[child_row] = s_select.workprice[1]
  687. Decimal arg_proqty
  688. Long arg_mtrlid
  689. arg_mtrlid = dw_child.Object.mtrlid[child_row]
  690. arg_proqty = 1
  691. SELECT workqty INTO :arg_proqty
  692. FROM u_sc_workprice
  693. WHERE mtrlid = :arg_mtrlid
  694. And procode = :s_select.procode[1];
  695. // dw_child.Object.qty[child_row] = dw_child.Object.qty[child_row] * arg_proqty //工序计划数带出dw_child.Object.qty[child_row] *
  696. dw_child.AcceptText()
  697. Long llk_mtrlid,llk_relscid,llk_orderid,llk_relprintid,llk_billid
  698. String lsk_procode
  699. llk_mtrlid = Long(dw_child.Object.mtrlid[child_row])
  700. lsk_procode = String(dw_child.Object.procode[child_row])
  701. llk_relscid = Long(dw_child.Object.u_scwg_taskwork_2_mx_relscid[child_row])
  702. llk_orderid = Long(dw_child.Object.u_scwg_taskwork_2_mx_orderid[child_row])
  703. llk_relprintid = Long(dw_child.Object.u_scwg_taskwork_2_mx_relprintid[child_row])
  704. IF dw_pageretr.GetRow() > 0 THEN
  705. llk_billid = Long(dw_pageretr.Object.billid[dw_pageretr.GetRow()])
  706. END IF
  707. decimal rtn_qty
  708. rtn_qty=wf_cmp_auto_proqty(llk_mtrlid,lsk_procode,llk_relscid,llk_orderid,llk_relprintid,llk_billid)
  709. if rtn_qty > 0 then
  710. dw_child.Object.qty[child_row] =rtn_qty
  711. end if
  712. dw_child.SetRedraw(True)
  713. dw_child.SetColumn('qty')
  714. END IF
  715. end event
  716. event ue_usual_query_filt;call super::ue_usual_query_filt;String obj_expr = ''
  717. IF Trim(sle_usual_query.Text) <> '' THEN
  718. IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN
  719. obj_expr = obj_expr+'( billcode like "%'+Trim(sle_usual_query.Text)+'%" )'
  720. ELSE
  721. obj_expr = obj_expr+'( billcode like "'+Trim(sle_usual_query.Text)+'" )'
  722. END IF
  723. END IF
  724. dw_pageretr.SetFilter(obj_expr)
  725. dw_pageretr.SetRedraw(False)
  726. dw_pageretr.Filter()
  727. IF dw_pageretr.RowCount() >= 1 THEN
  728. dw_pageretr.SelectRow(0,False)
  729. dw_pageretr.SelectRow(1,True)
  730. END IF
  731. dw_pageretr.SetRedraw(True)
  732. end event
  733. event ue_usual_query_retr;call super::ue_usual_query_retr;String ls_querystrpart = ''
  734. ls_newselect = Lower(ori_oldselect)
  735. IF Trim(sle_usual_query.Text) <> '' THEN
  736. IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN
  737. ls_querystrpart = "(u_scwg_taskwork_2.billcode like '%"+Trim(sle_usual_query.Text)+"%')"
  738. ELSE
  739. ls_querystrpart = "(u_scwg_taskwork_2.billcode like '"+Trim(sle_usual_query.Text)+"')"
  740. END IF
  741. IF Pos(ls_newselect," where ") <> 0 THEN
  742. ls_newselect = ls_newselect+" and ("+ls_querystrpart+')'
  743. ELSE
  744. ls_newselect = ls_newselect+" where ("+ls_querystrpart+')'
  745. END IF
  746. END IF
  747. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  748. This.TriggerEvent('retrieve_pageretr')
  749. end event
  750. event refresh_interface;call super::refresh_interface;ddlb_scid.Enabled = NOT dw_edit_mode
  751. ddlb_status.Enabled = NOT dw_edit_mode
  752. wf_flagstatus_rf()
  753. end event
  754. event ue_addzy;call super::ue_addzy;IF NOT f_power_ind(1371) THEN
  755. MessageBox(publ_operator,'你没有使用权限!')
  756. RETURN
  757. END IF
  758. IF dw_edit_mode THEN RETURN
  759. String arg_msg = '',LS_STR
  760. Long uc_row
  761. s_inputbox S_SREU
  762. uc_row = dw_pageretr.GetRow()
  763. IF uc_row <= 0 THEN
  764. MessageBox('系统提示','请选定当前目标单据!')
  765. RETURN
  766. END IF
  767. S_SREU.Title = '请输入要补充到备注的内容'
  768. S_SREU.OLD_TEXT = ''
  769. OpenWithParm(w_inputbox,S_SREU)
  770. LS_STR = Message.StringParm
  771. IF Trim(LS_STR) = '' OR IsNull(LS_STR) THEN RETURN
  772. IF uo_ware.add_dscrp(dw_pageretr.Object.billid[uc_row],LS_STR,arg_msg,TRUE) = 0 THEN
  773. MessageBox('Error!',arg_msg)
  774. RETURN
  775. ELSE
  776. MessageBox(publ_operator,'添加备注操作成功!')
  777. wf_refresh_curuc(dw_pageretr.Object.billid[uc_row])
  778. END IF
  779. end event
  780. event ue_f7;call super::ue_f7;IF NOT dw_edit_mode THEN RETURN
  781. Long child_row,ls_j,uc_row
  782. s_edit_index_tran s_open //传递参数使用
  783. s_saletask_mtrl s_inscust
  784. child_row = dw_child.GetRow()
  785. uc_row = dw_uc.GetRow()
  786. IF uc_row <= 0 THEN RETURN
  787. s_open.if_select_any = TRUE
  788. s_open.b_string = ''
  789. IF cur_scid < 0 THEN
  790. s_open.d_long = dw_uc.Object.scid[uc_row]
  791. ELSE
  792. s_open.d_long = cur_scid
  793. END IF
  794. ////This.Enabled = False
  795. ////工业版 或 不限订单 //两个选择窗口基本一样,不明白为什么要分开??
  796. //IF sys_version_type = 0 OR sys_option_taskwork_procode_order = 0 THEN
  797. // //选订单,带工价表工序
  798. // IF NOT IsValid(w_order_ml_mx_mtrl_ch2) THEN
  799. // OpenWithParm(w_order_ml_mx_mtrl_ch2,s_open)
  800. // ELSE
  801. // RETURN
  802. // END IF
  803. //
  804. //ELSE
  805. // //选订单,带订单工序
  806. IF NOT IsValid(w_order_ml_mx_mtrl_ch) THEN
  807. OpenWithParm(w_order_ml_mx_mtrl_ch,s_open)
  808. ELSE
  809. RETURN
  810. END IF
  811. //END IF
  812. ////This.Enabled = True
  813. s_inscust = Message.PowerObjectParm //接受返回结构
  814. dw_child.SetRedraw(FALSE)
  815. FOR ls_j = 1 TO UpperBound(s_inscust.taskid)
  816. IF s_inscust.taskid[ls_j] > 0 THEN //正常返回值则可以取以下值
  817. IF dw_child.GetRow() > 0 THEN
  818. IF dw_child.Object.mtrlid[child_row] <> 0 THEN
  819. child_row = dw_child.InsertRow (0)
  820. ELSE
  821. child_row = dw_child.GetRow()
  822. END IF
  823. ELSE
  824. child_row = dw_child.InsertRow (0)
  825. END IF
  826. dw_child.Object.ifrel[child_row] = 1
  827. dw_child.Object.u_scwg_taskwork_2_mx_orderid[child_row] = s_inscust.taskid[ls_j]
  828. dw_child.Object.u_scwg_taskwork_2_mx_relprintid[child_row] = s_inscust.printid[ls_j]
  829. dw_child.Object.u_scwg_taskwork_2_mx_relscid[child_row] = s_inscust.scid[ls_j]
  830. dw_child.Object.u_scwg_taskwork_2_mx_ordercode[child_row] = s_inscust.taskcode[ls_j]
  831. // dw_child.Object.mxdscrp[child_row] = s_inscust.mxdscrp[ls_j]
  832. dw_child.Object.mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  833. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  834. dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  835. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  836. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
  837. dw_child.Object.status[child_row] = s_inscust.status[ls_j]
  838. dw_child.Object.pcode[child_row] = s_inscust.pcode[ls_j]
  839. dw_child.Object.woodcode[child_row] = s_inscust.woodcode[ls_j]
  840. dw_child.Object.u_saletaskmx_orderqty[child_row] = s_inscust.orderqty[ls_j]
  841. dw_child.Object.u_saletaskmx_assignqty[child_row] = s_inscust.assignqty[ls_j]
  842. dw_child.Object.u_saletaskmx_mxdscrp[child_row] = s_inscust.mxdscrp[ls_j]
  843. dw_child.Object.u_saletaskmx_mxdscrp2[child_row] = s_inscust.mxdscrp2[ls_j]
  844. dw_child.Object.u_saletaskmx_mxdscrp3[child_row] = s_inscust.mxdscrp3[ls_j]
  845. dw_child.Object.u_saletaskmx_mxdscrp4[child_row] = s_inscust.mxdscrp4[ls_j]
  846. dw_child.Object.u_saletask_relcode[child_row] = s_inscust.relcode[ls_j]
  847. dw_child.Object.qty[child_row] = s_inscust.orderqty[ls_j]
  848. dw_child.Object.u_saletaskmx_plancode[child_row] = s_inscust.plancode[ls_j]
  849. dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust.mtrltype[ls_j]
  850. dw_child.Object.u_mtrldef_handtype[child_row] = s_inscust.handtype[ls_j]
  851. dw_child.Object.u_saletask_kind[child_row] = s_inscust.kind[ls_j]
  852. END IF
  853. NEXT
  854. dw_child.SetFocus()
  855. dw_child.SetColumn('procode')
  856. dw_child.SetRedraw(TRUE)
  857. /*
  858. //详情参考w_sc_taskwork.ue_f7
  859. IF sys_version_type = 0 or sys_option_taskwork_procode_order = 0 THEN
  860. IF Not IsValid(w_order_ml_mx_mtrl_ch2) THEN
  861. s_open.if_select_any = True
  862. s_open.b_string = ''
  863. IF cur_scid < 0 THEN
  864. s_open.d_long = dw_uc.Object.scid[uc_row]
  865. ELSE
  866. s_open.d_long = cur_scid
  867. END IF
  868. This.Enabled = False
  869. OpenWithParm(w_order_ml_mx_mtrl_ch2,s_open)
  870. This.Enabled = True
  871. s_inscust = Message.PowerObjectParm //接受返回结构
  872. dw_child.SetRedraw(False)
  873. FOR ls_j = 1 To UpperBound(s_inscust.taskid)
  874. IF s_inscust.taskid[ls_j] > 0 THEN //正常返回值则可以取以下值
  875. IF dw_child.GetRow() > 0 THEN
  876. IF dw_child.Object.mtrlid[child_row] <> 0 THEN
  877. child_row = dw_child.InsertRow (0)
  878. ELSE
  879. child_row = dw_child.GetRow()
  880. END IF
  881. ELSE
  882. child_row = dw_child.InsertRow (0)
  883. END IF
  884. dw_child.Object.ifrel[child_row] = 1
  885. dw_child.Object.u_scwg_taskwork_2_mx_orderid[child_row] = s_inscust.taskid[ls_j]
  886. dw_child.Object.u_scwg_taskwork_2_mx_relprintid[child_row] = s_inscust.printid[ls_j]
  887. dw_child.Object.u_scwg_taskwork_2_mx_relscid[child_row] = s_inscust.scid[ls_j]
  888. dw_child.Object.mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  889. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  890. dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  891. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  892. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
  893. dw_child.Object.status[child_row] = s_inscust.status[ls_j]
  894. dw_child.Object.pcode[child_row] = s_inscust.pcode[ls_j]
  895. dw_child.Object.woodcode[child_row] = s_inscust.woodcode[ls_j]
  896. dw_child.Object.u_scwg_taskwork_2_mx_ordercode[child_row] = s_inscust.taskcode[ls_j]
  897. dw_child.SetFocus()
  898. dw_child.SetColumn('procode')
  899. END IF
  900. NEXT
  901. dw_child.SetRedraw(True)
  902. END IF
  903. ELSE
  904. IF Not IsValid(w_order_ml_mx_mtrl_ch) THEN
  905. s_open.if_select_any = True
  906. s_open.b_string = ''
  907. IF cur_scid < 0 THEN
  908. s_open.d_long = dw_uc.Object.scid[uc_row]
  909. ELSE
  910. s_open.d_long = cur_scid
  911. END IF
  912. This.Enabled = False
  913. OpenWithParm(w_order_ml_mx_mtrl_ch,s_open)
  914. This.Enabled = True
  915. s_inscust = Message.PowerObjectParm //接受返回结构
  916. dw_child.SetRedraw(False)
  917. FOR ls_j = 1 To UpperBound(s_inscust.taskid)
  918. IF s_inscust.taskid[ls_j] > 0 THEN //正常返回值则可以取以下值
  919. IF dw_child.GetRow() > 0 THEN
  920. IF dw_child.Object.mtrlid[child_row] <> 0 THEN
  921. child_row = dw_child.InsertRow (0)
  922. ELSE
  923. child_row = dw_child.GetRow()
  924. END IF
  925. ELSE
  926. child_row = dw_child.InsertRow (0)
  927. END IF
  928. dw_child.Object.ifrel[child_row] = 1
  929. dw_child.Object.u_scwg_taskwork_2_mx_orderid[child_row] = s_inscust.taskid[ls_j]
  930. dw_child.Object.u_scwg_taskwork_2_mx_relprintid[child_row] = s_inscust.printid[ls_j]
  931. dw_child.Object.u_scwg_taskwork_2_mx_relscid[child_row] = s_inscust.scid[ls_j]
  932. dw_child.Object.mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  933. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  934. dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  935. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  936. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
  937. dw_child.Object.status[child_row] = s_inscust.status[ls_j]
  938. dw_child.Object.pcode[child_row] = s_inscust.pcode[ls_j]
  939. dw_child.Object.woodcode[child_row] = s_inscust.woodcode[ls_j]
  940. dw_child.Object.u_scwg_taskwork_2_mx_ordercode[child_row] = s_inscust.taskcode[ls_j]
  941. dw_child.SetFocus()
  942. dw_child.SetColumn('procode')
  943. END IF
  944. NEXT
  945. dw_child.SetRedraw(True)
  946. END IF
  947. END IF
  948. */
  949. end event
  950. event ue_f11;call super::ue_f11;Long child_row
  951. dw_child.AcceptText()
  952. child_row = dw_child.GetRow()
  953. IF child_row <= 0 THEN
  954. MessageBox('系统提示','当前没有记录!')
  955. RETURN
  956. END IF
  957. IF dw_child.Object.u_scwg_taskwork_2_mx_orderid[child_row] = 0 THEN
  958. MessageBox('系统提示','当前没有选择销售订单明细!')
  959. RETURN
  960. END IF
  961. IF Not IsValid(w_order_ml_pro_ch) THEN
  962. s_saletaskmx s_select_open
  963. s_select_open.scid = cur_scid
  964. s_select_open.taskid = dw_child.Object.u_scwg_taskwork_2_mx_orderid[child_row]
  965. s_select_open.printid = dw_child.Object.u_scwg_taskwork_2_mx_relprintid[child_row]
  966. OpenWithParm(w_order_ml_pro_ch,s_select_open)
  967. s_order_ml_workprice_array s_select
  968. s_select = Message.PowerObjectParm
  969. IF UpperBound(s_select.procode) <= 0 THEN RETURN
  970. IF IsNull(s_select.procode[1]) Or s_select.procode[1] = '' THEN RETURN
  971. dw_child.SetRedraw(False)
  972. dw_child.Object.procode[child_row] = s_select.procode[1]
  973. dw_child.Object.proname[child_row] = s_select.proname[1]
  974. dw_child.Object.price[child_row] = s_select.workprice[1]
  975. dw_child.Object.proqty[child_row] = s_select.proqty[1]
  976. Decimal arg_proqty
  977. Long arg_mtrlid
  978. arg_mtrlid = dw_child.Object.mtrlid[child_row]
  979. arg_proqty = 1
  980. SELECT workqty INTO :arg_proqty
  981. FROM u_sc_workprice
  982. WHERE mtrlid = :arg_mtrlid
  983. And procode = :s_select.procode[1];
  984. // dw_child.Object.qty[child_row] = dw_child.Object.qty[child_row] * arg_proqty //工序计划数带出dw_child.Object.qty[child_row] *
  985. dw_child.AcceptText()
  986. Long llk_mtrlid,llk_relscid,llk_orderid,llk_relprintid,llk_billid
  987. String lsk_procode
  988. llk_mtrlid = Long(dw_child.Object.mtrlid[child_row])
  989. lsk_procode = String(dw_child.Object.procode[child_row])
  990. llk_relscid = Long(dw_child.Object.u_scwg_taskwork_2_mx_relscid[child_row])
  991. llk_orderid = Long(dw_child.Object.u_scwg_taskwork_2_mx_orderid[child_row])
  992. llk_relprintid = Long(dw_child.Object.u_scwg_taskwork_2_mx_relprintid[child_row])
  993. IF dw_pageretr.GetRow() > 0 THEN
  994. llk_billid = Long(dw_pageretr.Object.billid[dw_pageretr.GetRow()])
  995. END IF
  996. decimal rtn_qty
  997. rtn_qty=wf_cmp_auto_proqty(llk_mtrlid,lsk_procode,llk_relscid,llk_orderid,llk_relprintid,llk_billid)
  998. if rtn_qty > 0 then
  999. dw_child.Object.qty[child_row] =rtn_qty
  1000. end if
  1001. dw_child.SetRedraw(True)
  1002. dw_child.SetColumn('qty')
  1003. END IF
  1004. end event
  1005. event ue_viewprint;call super::ue_viewprint;
  1006. IF NOT f_power_ind(1372) THEN
  1007. MessageBox('提示','你没有使用权限!',information!,OK!)
  1008. RETURN
  1009. END IF
  1010. Long LS_ROW
  1011. LS_ROW = dw_pageretr.GetRow()
  1012. IF LS_ROW <= 0 THEN
  1013. MessageBox('NO','没有打印目标单据!')
  1014. RETURN
  1015. END IF
  1016. S_print_MSG LS_PRMSG
  1017. IF ls_newname <> '' THEN
  1018. IF li_auditprint = 1 THEN
  1019. IF dw_pageretr.Object.u_scwg_taskwork_2_affirmflag[dw_pageretr.GetRow()] = 0 THEN
  1020. MessageBox('NO','目标单据还未确认,不能打印!')
  1021. RETURN
  1022. END IF
  1023. END IF
  1024. LS_PRMSG.obj_dwNAME = ls_newname
  1025. ELSE
  1026. IF Not f_power_ind(1372) THEN
  1027. MessageBox(publ_operator,'你没有使用权限!')
  1028. RETURN
  1029. END IF
  1030. LS_PRMSG.obj_dwNAME = 'dw_rp_scwg_taskwork_2_edit_person'
  1031. END IF
  1032. if LS_PRMSG.obj_dwNAME = '' then return
  1033. LS_PRMSG.TAG_TEXT = '个人产品计件单'
  1034. LS_PRMSG.FILTER_STRING = ''
  1035. LS_PRMSG.retr_pram_falg = 2
  1036. LS_PRMSG.PAGECH_FLAG = 0
  1037. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[LS_ROW]
  1038. OpenWithParm(w_publ_preview,LS_PRMSG)
  1039. //**更新打印次料
  1040. String arg_msg
  1041. printnum = Message.DoubleParm
  1042. f_update_printnum('u_scwg_taskwork_2',printnum,0,dw_pageretr.object.billid[LS_ROW],'','',arg_msg,true)
  1043. end event
  1044. event ue_print;call super::ue_print;//--直接打印
  1045. IF NOT f_power_ind(1372) THEN
  1046. MessageBox('提示','你没有使用权限!',information!,OK!)
  1047. RETURN
  1048. END IF
  1049. uo_print_preview uo_print
  1050. IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1051. S_print_MSG LS_PRMSG
  1052. Long LS_ROW
  1053. LS_ROW = dw_pageretr.GetRow()
  1054. IF LS_ROW <= 0 THEN
  1055. MessageBox('NO','没有打印目标单据!')
  1056. RETURN
  1057. END IF
  1058. IF ls_newname <> '' THEN
  1059. IF li_auditprint = 1 THEN
  1060. IF dw_pageretr.Object.u_scwg_taskwork_2_affirmflag[dw_pageretr.GetRow()] = 0 THEN
  1061. MessageBox('NO','目标单据还未确认,不能打印!')
  1062. RETURN
  1063. END IF
  1064. END IF
  1065. LS_PRMSG.obj_dwNAME = ls_newname
  1066. ELSE
  1067. IF NOT f_power_ind(1372) THEN
  1068. MessageBox(publ_operator,'你没有使用权限!')
  1069. RETURN
  1070. END IF
  1071. LS_PRMSG.obj_dwNAME = 'dw_rp_scwg_taskwork_2_edit_person'
  1072. END IF
  1073. if LS_PRMSG.obj_dwNAME = '' then return
  1074. LS_PRMSG.retr_pram_falg = 2
  1075. LS_PRMSG.TAG_TEXT = '个人产品计件单'
  1076. LS_PRMSG.FILTER_STRING = ''
  1077. LS_PRMSG.PAGECH_FLAG = 0
  1078. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[LS_ROW]
  1079. uo_print.FACT_PRINT_MSG = LS_PRMSG
  1080. String arg_msg
  1081. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  1082. MessageBox("系统提示",arg_msg)
  1083. RETURN
  1084. END IF
  1085. uo_print.ds_print()
  1086. //**更新打印次料
  1087. //printnum = 1
  1088. Long ll_scid
  1089. String ls_code
  1090. ll_scid = dw_pageretr.Object.scid[dw_pageretr.GetRow()]
  1091. ls_code = dw_pageretr.Object.billcode[dw_pageretr.GetRow()]
  1092. f_update_printnum('u_scwg_taskwork_2',1,0,dw_pageretr.object.billid[LS_ROW],'','',arg_msg,true)
  1093. end event
  1094. event ue_rpt_viewprint;call super::ue_rpt_viewprint;
  1095. Long row,uc_relid,ll_scid
  1096. row = dw_pageretr.GetRow()
  1097. IF row = 0 THEN RETURN
  1098. IF ls_rpname = '' THEN RETURN
  1099. IF li_auditprint = 1 THEN
  1100. IF dw_pageretr.Object.u_scwg_taskwork_2_affirmflag[row] = 0 THEN
  1101. MessageBox('NO','目标单据还未确认,不能打印!')
  1102. RETURN
  1103. END IF
  1104. END IF
  1105. s_rpt_print_msg s_print
  1106. s_print.retr_pram_falg = 15
  1107. s_print.rpid = ls_msgprintid_rpt
  1108. s_print.retr_flag = TRUE
  1109. s_print.tag_text = THIS.Title
  1110. s_print.rpname = ls_rpname
  1111. s_print.retr_scid = dw_pageretr.Object.scid[row]
  1112. s_print.retr_pramnmb = dw_pageretr.Object.billid[row]
  1113. s_print.rowcnt = dw_child.RowCount()
  1114. OpenWithParm(w_rpt_preview,s_print)
  1115. //**更新打印次料
  1116. String arg_msg
  1117. printnum = Message.DoubleParm
  1118. String ls_code
  1119. ll_scid = dw_pageretr.Object.scid[row]
  1120. ls_code = dw_pageretr.Object.billcode[row]
  1121. //f_update_printnum(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE)
  1122. end event
  1123. event ue_rpt_print;call super::ue_rpt_print;Long row,uc_relid,ll_scid
  1124. row = dw_pageretr.GetRow()
  1125. IF row = 0 THEN RETURN
  1126. uo_rpt_print_preview uo_print
  1127. S_rpt_print_MSG LS_PRMSG
  1128. IF dw_pageretr.RowCount() = 0 THEN
  1129. MessageBox('系统信息','没有可打印的单据!')
  1130. RETURN
  1131. END IF
  1132. IF ls_rpname = '' THEN RETURN
  1133. IF li_auditprint = 1 THEN
  1134. IF dw_pageretr.Object.u_scwg_taskwork_2_affirmflag[row] = 0 THEN
  1135. MessageBox('NO','目标单据还未审核,不能打印!')
  1136. RETURN
  1137. END IF
  1138. END IF
  1139. IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1140. LS_PRMSG.retr_pram_falg = 15
  1141. LS_PRMSG.TAG_TEXT = THIS.Title
  1142. LS_PRMSG.rpname = ls_rpname
  1143. LS_PRMSG.FILTER_STRING = ''
  1144. LS_PRMSG.PAGECH_FLAG = 0
  1145. LS_PRMSG.rpid = ls_msgprintid_rpt
  1146. LS_PRMSG.retr_scid = dw_pageretr.Object.scid[row]
  1147. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[row]
  1148. LS_PRMSG.rowcnt = dw_child.RowCount()
  1149. uo_print.FACT_PRINT_MSG = LS_PRMSG
  1150. String arg_msg
  1151. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  1152. MessageBox("系统提示",arg_msg)
  1153. RETURN
  1154. END IF
  1155. uo_print.ds_print()
  1156. //**更新打印次料
  1157. printnum = Message.DoubleParm
  1158. String ls_code
  1159. ll_scid = dw_pageretr.Object.scid[row]
  1160. ls_code = dw_pageretr.Object.billcode[row]
  1161. //f_update_printnum(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE)
  1162. end event
  1163. event ue_f6;call super::ue_f6;IF Not dw_edit_mode THEN RETURN
  1164. Long child_row,ls_j,uc_row
  1165. s_edit_index_tran s_open //传递参数使用
  1166. s_saletask_mtrl_pro s_inscust
  1167. child_row = dw_child.GetRow()
  1168. uc_row = dw_uc.GetRow()
  1169. IF uc_row <= 0 THEN RETURN
  1170. s_open.if_select_any = True
  1171. s_open.b_string = ''
  1172. s_open.if_retrieve_all = local_retrieve_all
  1173. IF cur_scid < 0 THEN
  1174. s_open.d_long = dw_uc.Object.scid[uc_row]
  1175. ELSE
  1176. s_open.d_long = cur_scid
  1177. END IF
  1178. //选订单,带订单工序
  1179. IF Not IsValid(w_order_ml_mx_mtrl_ch_gz) THEN
  1180. OpenWithParm(w_order_ml_mx_mtrl_ch_gz,s_open)
  1181. END IF
  1182. s_inscust = Message.PowerObjectParm //接受返回结构
  1183. dw_child.SetRedraw(False)
  1184. FOR ls_j = 1 To UpperBound(s_inscust.taskid)
  1185. IF s_inscust.taskid[ls_j] > 0 THEN //正常返回值则可以取以下值
  1186. IF dw_child.GetRow() > 0 THEN
  1187. IF dw_child.Object.mtrlid[child_row] <> 0 THEN
  1188. child_row = dw_child.InsertRow (0)
  1189. ELSE
  1190. child_row = dw_child.GetRow()
  1191. END IF
  1192. ELSE
  1193. child_row = dw_child.InsertRow (0)
  1194. END IF
  1195. dw_child.Object.ifrel[child_row] = 1
  1196. dw_child.Object.u_scwg_taskwork_2_mx_orderid[child_row] = s_inscust.taskid[ls_j]
  1197. dw_child.Object.u_scwg_taskwork_2_mx_relprintid[child_row] = s_inscust.printid[ls_j]
  1198. dw_child.Object.u_scwg_taskwork_2_mx_relscid[child_row] = s_inscust.scid[ls_j]
  1199. dw_child.Object.u_scwg_taskwork_2_mx_ordercode[child_row] = s_inscust.taskcode[ls_j]
  1200. // dw_child.Object.mxdscrp[child_row] = s_inscust.mxdscrp[ls_j]
  1201. dw_child.Object.mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  1202. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  1203. dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  1204. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  1205. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
  1206. dw_child.Object.status[child_row] = s_inscust.status[ls_j]
  1207. dw_child.Object.pcode[child_row] = s_inscust.pcode[ls_j]
  1208. dw_child.Object.woodcode[child_row] = s_inscust.woodcode[ls_j]
  1209. dw_child.Object.u_saletaskmx_orderqty[child_row] = s_inscust.orderqty[ls_j]
  1210. dw_child.Object.u_saletaskmx_assignqty[child_row] = s_inscust.assignqty[ls_j]
  1211. dw_child.Object.u_saletask_relcode[child_row] = s_inscust.relcode[ls_j]
  1212. dw_child.Object.procode[child_row] = s_inscust.procode[ls_j]
  1213. dw_child.Object.proname[child_row] = s_inscust.proname[ls_j]
  1214. dw_child.Object.price[child_row] = s_inscust.workprice[ls_j]
  1215. dw_child.Object.proqty[child_row] = s_inscust.proqty[ls_j]
  1216. dw_child.Object.qty[child_row] = s_inscust.proqty[ls_j]
  1217. dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust.mtrltype[ls_j]
  1218. dw_child.Object.u_mtrldef_handtype[child_row] = s_inscust.handtype[ls_j]
  1219. dw_child.Object.u_saletask_kind[child_row] = s_inscust.kind[ls_j]
  1220. END IF
  1221. NEXT
  1222. dw_child.SetFocus()
  1223. dw_child.SetColumn('procode')
  1224. dw_child.SetRedraw(True)
  1225. end event
  1226. event ue_f12;call super::ue_f12;//选择生产进仓单明细
  1227. IF NOT dw_edit_mode THEN RETURN
  1228. Long child_row,ls_j,uc_row
  1229. s_edit_index_tran s_open //传递参数使用
  1230. s_saletask_mtrl s_inscust
  1231. child_row = dw_child.GetRow()
  1232. uc_row = dw_uc.GetRow()
  1233. IF uc_row <= 0 THEN RETURN
  1234. s_open.if_select_any = TRUE
  1235. s_open.b_string = ''
  1236. s_open.d_long = dw_uc.Object.scid[uc_row]
  1237. IF NOT IsValid(w_inware_cp_mtrl_ch) THEN
  1238. OpenWithParm(w_inware_cp_mtrl_ch,s_open)
  1239. ELSE
  1240. RETURN
  1241. END IF
  1242. s_inscust = Message.PowerObjectParm //接受返回结构
  1243. dw_child.SetRedraw(FALSE)
  1244. FOR ls_j = 1 TO UpperBound(s_inscust.mtrlid)
  1245. IF s_inscust.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
  1246. IF dw_child.GetRow() > 0 THEN
  1247. IF dw_child.Object.mtrlid[child_row] <> 0 THEN
  1248. child_row = dw_child.InsertRow (0)
  1249. ELSE
  1250. child_row = dw_child.GetRow()
  1251. END IF
  1252. ELSE
  1253. child_row = dw_child.InsertRow (0)
  1254. END IF
  1255. // dw_child.Object.ifrel[child_row] = 1
  1256. dw_child.Object.u_scwg_taskwork_2_mx_relid2[child_row] = s_inscust.taskid[ls_j]
  1257. dw_child.Object.u_scwg_taskwork_2_mx_relprintid2[child_row] = s_inscust.printid[ls_j]
  1258. dw_child.Object.u_scwg_taskwork_2_mx_relscid[child_row] = s_inscust.scid[ls_j]
  1259. dw_child.Object.u_scwg_taskwork_2_mx_ordercode[child_row] = s_inscust.taskcode[ls_j]
  1260. dw_child.Object.mtrlid[child_row] = s_inscust.mtrlid[ls_j]
  1261. dw_child.Object.u_mtrldef_mtrlcode[child_row] = s_inscust.mtrlcode[ls_j]
  1262. dw_child.Object.u_mtrldef_mtrlname[child_row] = s_inscust.mtrlname[ls_j]
  1263. dw_child.Object.u_mtrldef_mtrlmode[child_row] = s_inscust.mtrlmode[ls_j]
  1264. dw_child.Object.u_mtrldef_unit[child_row] = s_inscust.unit[ls_j]
  1265. dw_child.Object.status[child_row] = s_inscust.status[ls_j]
  1266. dw_child.Object.pcode[child_row] = s_inscust.pcode[ls_j]
  1267. dw_child.Object.woodcode[child_row] = s_inscust.woodcode[ls_j]
  1268. dw_child.Object.qty[child_row] = s_inscust.noassignqty[ls_j]
  1269. dw_child.Object.u_scwg_taskwork_2_mx_addqty[child_row] = s_inscust.noassignaddqty[ls_j]
  1270. dw_child.Object.u_inwaremx_qty[child_row] = s_inscust.orderqty[ls_j]
  1271. dw_child.Object.u_inwaremx_addqty[child_row] = s_inscust.addqty[ls_j]
  1272. dw_child.Object.u_inwaremx_plancode[child_row] = s_inscust.plancode[ls_j]
  1273. dw_child.Object.u_inwaremx_mxdscrp[child_row] = s_inscust.mxdscrp[ls_j]
  1274. dw_child.Object.u_inwaremx_mxdscrp2[child_row] = s_inscust.mxdscrp2[ls_j]
  1275. dw_child.Object.u_inwaremx_mxdscrp3[child_row] = s_inscust.mxdscrp3[ls_j]
  1276. dw_child.Object.u_inwaremx_mxdscrp4[child_row] = s_inscust.mxdscrp4[ls_j]
  1277. dw_child.Object.u_mtrldef_mtrltype[child_row] = s_inscust.mtrltype[ls_j]
  1278. dw_child.Object.u_mtrldef_handtype[child_row] = s_inscust.handtype[ls_j]
  1279. END IF
  1280. NEXT
  1281. dw_child.SetFocus()
  1282. dw_child.SetColumn('procode')
  1283. dw_child.SetRedraw(TRUE)
  1284. end event
  1285. type cb_func from w_publ_1ton_share_detail`cb_func within w_scwg_taskwork_2_person
  1286. end type
  1287. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_scwg_taskwork_2_person
  1288. integer x = 2610
  1289. end type
  1290. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_scwg_taskwork_2_person
  1291. integer x = 197
  1292. integer width = 553
  1293. end type
  1294. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_scwg_taskwork_2_person
  1295. integer x = 3063
  1296. end type
  1297. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_scwg_taskwork_2_person
  1298. integer x = 2761
  1299. end type
  1300. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_scwg_taskwork_2_person
  1301. integer x = 1861
  1302. integer width = 1687
  1303. integer height = 928
  1304. string dataobject = "dw_scwg_taskwork_2_index_person"
  1305. end type
  1306. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf()
  1307. end event
  1308. type st_1 from w_publ_1ton_share_detail`st_1 within w_scwg_taskwork_2_person
  1309. integer x = 14
  1310. end type
  1311. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_scwg_taskwork_2_person
  1312. integer x = 3214
  1313. end type
  1314. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_scwg_taskwork_2_person
  1315. integer y = 288
  1316. integer width = 1861
  1317. integer height = 1012
  1318. string dataobject = "dw_scwg_taskwork_2_edit_person"
  1319. end type
  1320. event dw_uc::dwnkey;PARENT.TriggerEvent('user_key')
  1321. IF Key = keydownarrow! THEN RETURN 1
  1322. dw_uc.AcceptText()
  1323. dw_child.AcceptText()
  1324. IF dw_edit_mode THEN
  1325. IF dw_uc.GetColumnName ( ) = 'dscrp' AND Key = keyenter! THEN
  1326. dw_child.SetFocus()
  1327. dw_child.ScrollToRow(1)
  1328. dw_child.SetColumn ('u_mtrldef_mtrlcode')
  1329. RETURN 1
  1330. ELSEIF dw_uc.GetColumnName () = 'u_rs_empinfo_empcode' AND Key = keyenter! THEN
  1331. String ls_empcode
  1332. ls_empcode = Trim(dw_uc.Object.u_rs_empinfo_empcode[dw_uc.GetRow()])
  1333. s_empinfo arg_s_emp
  1334. IF f_find_emp(ls_empcode,arg_s_emp) = 0 THEN
  1335. PARENT.TriggerEvent('ue_f9')
  1336. RETURN 1
  1337. ELSE
  1338. dw_uc.SetRedraw(FALSE)
  1339. dw_uc.Object.wrkgrpid[dw_uc.GetRow()] = arg_s_emp.empid
  1340. dw_uc.Object.u_rs_empinfo_empcode[dw_uc.GetRow()] = arg_s_emp.empcode
  1341. dw_uc.Object.u_rs_empinfo_empname[dw_uc.GetRow()] = arg_s_emp.empname
  1342. dw_uc.SetRedraw(TRUE)
  1343. IF Key = keyenter! THEN //
  1344. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1345. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1346. RETURN 1
  1347. END IF
  1348. END IF
  1349. ELSE
  1350. IF Key = keyenter! THEN //
  1351. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1352. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1353. RETURN 1
  1354. END IF
  1355. END IF
  1356. END IF
  1357. end event
  1358. event dw_uc::clicked;call super::clicked;IF dw_edit_mode THEN
  1359. IF dwo.Name = 't_saletaskmx' OR dwo.Name = 'p_b' THEN
  1360. PARENT.TriggerEvent('ue_f7')
  1361. ELSEIF dwo.Name = 't_mtrl' OR dwo.Name = 'p_1' THEN
  1362. PARENT.TriggerEvent('ue_f8')
  1363. ELSEIF dwo.Name = 't_saletaskmxpro' OR dwo.Name = 'p_2' THEN
  1364. PARENT.TriggerEvent('ue_f6')
  1365. ELSEIF dwo.Name = 't_cpmx' OR dwo.Name = 'p_cpmx' THEN
  1366. PARENT.TriggerEvent('ue_f12')
  1367. END IF
  1368. END IF
  1369. end event
  1370. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_scwg_taskwork_2_person
  1371. integer x = 1198
  1372. integer y = 548
  1373. integer width = 750
  1374. integer height = 384
  1375. end type
  1376. type dw_child from w_publ_1ton_share_detail`dw_child within w_scwg_taskwork_2_person
  1377. integer y = 1312
  1378. integer width = 3547
  1379. integer height = 840
  1380. string dataobject = "dw_scwg_taskwork_2_mx_person"
  1381. end type
  1382. event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
  1383. IF NOT dw_edit_mode THEN RETURN 1
  1384. Long child_row
  1385. Long ls_mtrlid,ll_orderid
  1386. String ls_procode,ls_proname
  1387. Decimal ls_workprice,ls_workhour
  1388. String ls_mtrlcode,ls_mtrlname,ls_mtrlmode,ls_unit
  1389. String ls_ordercode
  1390. String ls_status,ls_woodcode,ls_pcode,ls_mtrlsectype,ls_zxmtrlmode
  1391. String ls_billcode,ls_taskrelcode,ls_relcode
  1392. s_mtrldef_array arg_s_mtrldef
  1393. s_order_ml_ch arg_s_order
  1394. dw_child.AcceptText()
  1395. child_row = dw_child.GetRow()
  1396. IF dw_edit_mode THEN
  1397. IF KeyDown(keydownarrow!) THEN
  1398. IF dw_child.GetRow() = dw_child.RowCount() THEN
  1399. PARENT.TriggerEvent("insert_childrow")
  1400. END IF
  1401. ELSE
  1402. If (KeyDown(keyenter!) OR KeyDown(keytab!)) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN
  1403. IF dw_child.GetColumnName( ) = 'u_mtrldef_mtrlcode' THEN
  1404. IF dw_child.Object.ifrel[child_row] = 1 THEN
  1405. PARENT.TriggerEvent('ue_f7')
  1406. RETURN 1
  1407. END IF
  1408. ls_mtrlcode = dw_child.Object.u_mtrldef_mtrlcode[child_row]
  1409. IF f_find_mtrl(ls_mtrlcode,-1,arg_s_mtrldef) = 0 THEN
  1410. PARENT.TriggerEvent('ue_f8')
  1411. RETURN 1
  1412. ELSE
  1413. ls_mtrlid = arg_s_mtrldef.mtrlid[1]
  1414. ls_mtrlcode = arg_s_mtrldef.mtrlcode[1]
  1415. ls_mtrlname = arg_s_mtrldef.mtrlname[1]
  1416. ls_unit = arg_s_mtrldef.unit[1]
  1417. ls_mtrlmode = arg_s_mtrldef.mtrlmode[1]
  1418. ls_mtrlsectype = arg_s_mtrldef.mtrlsectype[1]
  1419. ls_zxmtrlmode = arg_s_mtrldef.zxmtrlmode[1]
  1420. END IF
  1421. dw_child.Object.mtrlid[child_row] = ls_mtrlid
  1422. dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
  1423. dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
  1424. dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
  1425. dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
  1426. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
  1427. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
  1428. IF Key = keyenter! THEN //
  1429. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1430. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1431. RETURN 1
  1432. END IF
  1433. ELSEIF dw_child.GetColumnName( ) = 'u_scwg_taskwork_2_mx_ordercode' THEN
  1434. ls_ordercode = dw_child.Object.u_scwg_taskwork_2_mx_ordercode[child_row]
  1435. // IF f_find_order_ml(ls_ordercode,arg_s_order) = 0 THEN
  1436. // PARENT.TriggerEvent('ue_f7')
  1437. // RETURN 1
  1438. // ELSE
  1439. // ls_mtrlid = arg_s_order.mtrlid
  1440. // ls_mtrlcode = arg_s_order.mtrlcode
  1441. // ls_mtrlname = arg_s_order.mtrlname
  1442. // ls_unit = arg_s_order.unit
  1443. // ls_mtrlmode = arg_s_order.mtrlmode
  1444. // ll_orderid = arg_s_order.orderid
  1445. // ls_status = arg_s_order.status
  1446. // ls_pcode = arg_s_order.pcode
  1447. // ls_woodcode = arg_s_order.woodcode
  1448. // ls_mtrlsectype = arg_s_order.mtrlsectype
  1449. // ls_zxmtrlmode = arg_s_order.zxmtrlmode
  1450. // ls_ordercode = arg_s_order.ordercode
  1451. // ls_billcode = arg_s_order.billcode
  1452. // ls_taskrelcode = arg_s_order.taskrelcode
  1453. // ls_relcode = arg_s_order.relcode
  1454. // END IF
  1455. dw_child.Object.mtrlid[child_row] = ls_mtrlid
  1456. dw_child.Object.u_mtrldef_mtrlcode[child_row] = ls_mtrlcode
  1457. dw_child.Object.u_mtrldef_mtrlname[child_row] = ls_mtrlname
  1458. dw_child.Object.u_mtrldef_mtrlmode[child_row] = ls_mtrlmode
  1459. dw_child.Object.u_mtrldef_unit[child_row] = ls_unit
  1460. dw_child.Object.u_scwg_taskwork_2_mx_orderid[child_row] = ll_orderid
  1461. dw_child.Object.status[child_row] = ls_status
  1462. dw_child.Object.pcode[child_row] = ls_pcode
  1463. dw_child.Object.woodcode[child_row] = ls_woodcode
  1464. dw_child.Object.u_mtrldef_mtrlsectype[child_row] = ls_mtrlsectype
  1465. dw_child.Object.u_mtrldef_zxmtrlmode[child_row] = ls_zxmtrlmode
  1466. dw_child.Object.u_scwg_taskwork_2_mx_ordercode[child_row] = ls_ordercode
  1467. IF Key = keyenter! THEN //
  1468. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1469. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1470. RETURN 1
  1471. END IF
  1472. ELSEIF dw_child.GetColumnName( ) = 'procode' THEN
  1473. dw_child.AcceptText()
  1474. child_row = dw_child.GetRow()
  1475. ls_mtrlid = dw_child.Object.mtrlid[child_row]
  1476. ls_procode = dw_child.Object.procode[child_row]
  1477. ll_orderid = dw_child.Object.u_scwg_taskwork_2_mx_orderid [child_row]
  1478. IF ls_mtrlid <= 0 THEN
  1479. MessageBox('系统提示','请先选择产品!')
  1480. RETURN
  1481. END IF
  1482. IF sys_option_taskwork_procode_order = 0 OR &
  1483. ( sys_option_taskwork_procode_order = 1 AND ll_orderid = 0 ) THEN
  1484. SELECT proname,workprice,workhour
  1485. INTO :ls_proname,:ls_workprice,:ls_workhour
  1486. FROM u_sc_workprice
  1487. WHERE mtrlid = :ls_mtrlid
  1488. AND procode = :ls_procode;
  1489. IF sqlca.SQLCode <> 0 THEN
  1490. SELECT name,workprice,workhour
  1491. INTO :ls_proname,:ls_workprice,:ls_workhour
  1492. FROM u_sc_workprocedure
  1493. WHERE ifpubl = 1
  1494. AND code = :ls_procode;
  1495. IF sqlca.SQLCode <> 0 THEN
  1496. PARENT.TriggerEvent('ue_f10')
  1497. RETURN 1
  1498. END IF
  1499. END IF
  1500. ELSE
  1501. SELECT U_OrderRqwp.Procode,
  1502. U_OrderRqwp.workprice
  1503. INTO :ls_proname,:ls_workprice
  1504. FROM U_OrderRqwp
  1505. WHERE ( U_OrderRqwp.scid = :cur_scid ) AND
  1506. ( U_OrderRqwp.taskid = :ll_orderid )
  1507. AND procode = :ls_procode ;
  1508. IF sqlca.SQLCode <> 0 THEN
  1509. PARENT.TriggerEvent('ue_f11')
  1510. RETURN 1
  1511. END IF
  1512. END IF
  1513. dw_child.Object.procode[child_row] = ls_procode
  1514. dw_child.Object.proname[child_row] = ls_proname
  1515. dw_child.Object.price[child_row] = ls_workprice
  1516. IF Key = keyenter! THEN //
  1517. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1518. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1519. RETURN 1
  1520. END IF
  1521. ELSEIF dw_child.GetColumnName( ) = 'mxdscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN
  1522. PARENT.TriggerEvent("insert_childrow")
  1523. RETURN 1
  1524. ELSE
  1525. IF Key = keyenter! THEN //
  1526. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1527. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1528. RETURN 1
  1529. END IF
  1530. END IF
  1531. END IF
  1532. END IF
  1533. END IF
  1534. end event
  1535. event dw_child::doubleclicked;dw_child.AcceptText()
  1536. IF dw_edit_mode AND row > 0 THEN
  1537. IF dw_child.GetColumnName( ) = 'procode' THEN
  1538. IF dw_child.Object.ifrel[row] = 0 &
  1539. OR sys_option_taskwork_procode_order = 0 &
  1540. OR sys_version_type = 0 THEN
  1541. PARENT.TriggerEvent('ue_f10') //选工价表工序
  1542. ELSE
  1543. PARENT.TriggerEvent('ue_f11') //选订单工序
  1544. END IF
  1545. ELSE
  1546. IF dw_child.Object.ifrel[row] = 1 THEN
  1547. PARENT.TriggerEvent('ue_f7')
  1548. ELSE
  1549. PARENT.TriggerEvent('ue_f8')
  1550. END IF
  1551. END IF
  1552. END IF
  1553. end event
  1554. event dw_child::itemchanged;call super::itemchanged;If Not dw_edit_mode Then Return
  1555. This.AcceptText()
  1556. If dwo.Name = 'ifrel' Then
  1557. If This.Object.ifrel[row] = 1 Then
  1558. dw_child.Object.u_scwg_taskwork_2_mx_orderid[row] = 0
  1559. dw_child.Object.u_scwg_taskwork_2_mx_ordercode[row] = ''
  1560. End If
  1561. End If
  1562. end event
  1563. event dw_child::clicked;If row > 0 And dw_edit_mode Then
  1564. This.SetRow(row)
  1565. If KeyDown(keycontrol!) Then
  1566. If if_changeselect Then
  1567. This.SelectRow(row,Not This.IsSelected(row))
  1568. Else
  1569. if_changeselect = True
  1570. End If
  1571. ll_lastrow = row
  1572. ElseIf KeyDown(keyshift!) Then //按下SHIFT键
  1573. // IF ll_lastrow = 0 THEN //上次没选中任何行
  1574. // THIS.SelectRow(row,TRUE)
  1575. // ll_lastrow = currentrow //ll_lastrow为实例变量,记录上次单击的行
  1576. // ELSE
  1577. // THIS.SelectRow(0,FALSE) //全都不选中
  1578. // IF currentrow > ll_lastrow THEN
  1579. // FOR ll_i = ll_lastrow TO currentrow
  1580. // THIS.SelectRow(ll_i,TRUE)
  1581. // NEXT
  1582. // ELSE
  1583. // FOR ll_i = ll_lastrow TO currentrow STEP -1
  1584. // THIS.SelectRow(ll_i,TRUE)
  1585. // NEXT
  1586. // END IF
  1587. // END IF
  1588. Else
  1589. This.SelectRow(0,False)
  1590. This.SelectRow(row,True)
  1591. ll_lastrow = row
  1592. End If
  1593. If dwo.Name = 'status' Or dwo.Name = 'woodcode' Or dwo.Name = 'pcode' Then
  1594. Parent.TriggerEvent('ue_allowedit')
  1595. End If
  1596. End If
  1597. end event
  1598. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_scwg_taskwork_2_person
  1599. integer x = 2267
  1600. end type
  1601. type cb_print from w_publ_1ton_share_detail`cb_print within w_scwg_taskwork_2_person
  1602. integer x = 2075
  1603. end type
  1604. type cb_add from w_publ_1ton_share_detail`cb_add within w_scwg_taskwork_2_person
  1605. end type
  1606. event cb_add::clicked;IF NOT f_power_ind(1366) THEN
  1607. MessageBox(publ_operator,'你没有使用权限!')
  1608. RETURN
  1609. END IF
  1610. String arg_msg = ''
  1611. Long uc_row,i
  1612. IF dw_edit_mode THEN
  1613. dw_child.setfilter('')
  1614. dw_child.filter()
  1615. dw_uc.AcceptText()
  1616. dw_child.AcceptText()
  1617. uc_row = dw_uc.GetRow()
  1618. IF uc_row <= 0 THEN
  1619. MessageBox('系统提示','请选定当前目标单据!')
  1620. RETURN
  1621. END IF
  1622. IF NOT dw_uc.Object.billdate[uc_row] > DateTime(2000-01-01,Now()) THEN
  1623. MessageBox('系统提示','不合理计件日期')
  1624. RETURN
  1625. END IF
  1626. IF dw_uc.Object.rep[uc_row] = '' THEN
  1627. MessageBox('系统提示','请输入经手人')
  1628. RETURN
  1629. END IF
  1630. IF dw_uc.Object.wrkgrpid[uc_row] = 0 THEN
  1631. MessageBox('系统提示','请输入员工')
  1632. RETURN
  1633. END IF
  1634. uo_ware.billdate = dw_uc.Object.billdate[uc_row]
  1635. uo_ware.wrkgrpid = dw_uc.Object.wrkgrpid[uc_row]
  1636. uo_ware.rep = dw_uc.Object.rep[uc_row]
  1637. uo_ware.relcode = dw_uc.Object.relcode[uc_row]
  1638. uo_ware.dscrp = dw_uc.Object.dscrp[uc_row]
  1639. uo_ware.wagemth = dw_uc.Object.wagemth[uc_row]
  1640. uo_ware.wageid = dw_uc.Object.wageid[uc_row]
  1641. uo_ware.billtype = 1
  1642. FOR i = 1 TO dw_child.RowCount()
  1643. IF dw_child.Object.mtrlid[i] > 0 THEN
  1644. IF uo_ware.acceptmx(dw_child.Object.mtrlid[i],&
  1645. dw_child.Object.procode[i],&
  1646. dw_child.Object.proname[i],&
  1647. dw_child.Object.qty[i],&
  1648. dw_child.Object.price[i],&
  1649. dw_child.Object.mxdscrp[i],&
  1650. arg_msg,&
  1651. i,&
  1652. dw_child.Object.status[i],&
  1653. dw_child.Object.woodcode[i],&
  1654. dw_child.Object.pcode[i],&
  1655. dw_child.Object.u_scwg_taskwork_2_mx_ycreason[i],&
  1656. dw_child.Object.u_scwg_taskwork_2_mx_orderid[i],&
  1657. dw_child.Object.u_scwg_taskwork_2_mx_ordercode[i],'','',&
  1658. dw_child.Object.u_scwg_taskwork_2_mx_relscid[i],&
  1659. dw_child.Object.u_scwg_taskwork_2_mx_relprintid[i],&
  1660. dw_child.Object.u_scwg_taskwork_2_mx_addqty[i],&
  1661. dw_child.Object.u_scwg_taskwork_2_mx_relid2[i],&
  1662. dw_child.Object.u_scwg_taskwork_2_mx_relprintid2[i]) = 0 THEN
  1663. MessageBox('error!',arg_msg)
  1664. RETURN
  1665. END IF
  1666. END IF
  1667. NEXT
  1668. IF uo_ware.Save(arg_msg,TRUE) = 0 THEN
  1669. MessageBox('error!',arg_msg)
  1670. RETURN
  1671. END IF
  1672. MessageBox(publ_operator,'保存操作成功!')
  1673. //write ini
  1674. SetProfileString (sys_inifilename,dw_uc.DataObject, "ddlb_wageid",String(dw_uc.Object.wageid[dw_uc.GetRow()]))
  1675. //
  1676. long ll_row
  1677. ll_row = dw_pageretr.getrow()
  1678. dw_pageretr.SelectRow(0,FALSE)
  1679. dw_pageretr.SelectRow(ll_row,TRUE)
  1680. wf_refresh_curuc(uo_ware.billid)
  1681. ELSE
  1682. IF uo_ware.newbegin(cur_scid,arg_msg) = 0 THEN
  1683. MessageBox('error!',arg_msg)
  1684. RETURN
  1685. END IF
  1686. END IF
  1687. CALL SUPER::Clicked
  1688. IF dw_edit_mode THEN
  1689. dw_uc.AcceptText()
  1690. //read ini
  1691. String ls_wageid
  1692. ls_wageid = ProfileString (sys_inifilename,dw_uc.DataObject, "ddlb_wageid",'0')
  1693. dw_uc.Object.wageid[dw_uc.GetRow()] = Long(ls_wageid)
  1694. //
  1695. dw_uc.Object.billdate[dw_uc.GetRow()] = DateTime(Date(em_dftdate.Text),Time(0))
  1696. dw_uc.Object.wagemth[dw_uc.GetRow()] = Long(em_mth.Text)
  1697. dw_uc.SetColumn('wagemth')
  1698. PARENT.TriggerEvent("insert_childrow")
  1699. ELSE
  1700. PARENT.TriggerEvent("retrieve_childdw")
  1701. PARENT.TriggerEvent("retrieve_mx")
  1702. END IF
  1703. THIS.TriggerEvent('refresh_interface')
  1704. end event
  1705. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_scwg_taskwork_2_person
  1706. end type
  1707. event cb_edit::clicked;IF NOT f_power_ind(1366) THEN
  1708. MessageBox(publ_operator,'你没有使用权限!')
  1709. RETURN
  1710. END IF
  1711. String arg_msg = ''
  1712. Long uc_row
  1713. uc_row = dw_pageretr.GetRow()
  1714. IF uc_row <= 0 THEN
  1715. MessageBox('系统提示','请选定当前目标单据!')
  1716. RETURN
  1717. END IF
  1718. IF NOT dw_edit_mode THEN
  1719. IF uo_ware.updatebegin(dw_pageretr.Object.billid[uc_row],arg_msg) = 0 THEN
  1720. MessageBox('Error!',arg_msg)
  1721. RETURN
  1722. END IF
  1723. wf_refresh_curuc(dw_pageretr.Object.billid[uc_row])
  1724. PARENT.TriggerEvent("retrieve_childdw")
  1725. END IF
  1726. CALL SUPER::Clicked
  1727. end event
  1728. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_scwg_taskwork_2_person
  1729. end type
  1730. event cb_delet::clicked;IF NOT f_power_ind(1370) THEN
  1731. MessageBox(publ_operator,'你没有使用权限!')
  1732. RETURN
  1733. END IF
  1734. if dw_edit_mode then return
  1735. string arg_msg=''
  1736. long uc_row
  1737. uc_row=dw_pageretr.getrow()
  1738. if uc_row<=0 then
  1739. messagebox('系统提示','请选定当前目标单据!')
  1740. return
  1741. end if
  1742. IF MessageBox ("IF","是否确定要删除当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1743. if uo_ware.del(dw_pageretr.object.billid[uc_row],arg_msg)=0 then
  1744. messagebox('Error!',arg_msg)
  1745. ELSE
  1746. //日志
  1747. long ls_id
  1748. string ls_code
  1749. ls_id=dw_pageretr.object.billid[uc_row]
  1750. ls_code=dw_pageretr.object.billcode[uc_row]
  1751. f_setsysoplog('个人产品计件单','个人产品计件单删除,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true)
  1752. //--
  1753. MESSAGEBOX(publ_operator,'删除单据'+string(dw_pageretr.object.billcode[uc_row])+'成功!')
  1754. dw_pageretr.deleterow(uc_row)
  1755. dw_pageretr.Triggerevent(rowfocuschanged!)
  1756. end if
  1757. end event
  1758. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_scwg_taskwork_2_person
  1759. integer x = 1582
  1760. integer width = 247
  1761. end type
  1762. event cb_addzy::clicked;call super::clicked;
  1763. m_Dfc_Control_PopupMenu dmPopupMenu
  1764. String menustr
  1765. menustr = "Text=增加备注~tEvent=ue_addzy"
  1766. menustr = menustr + "|" + "Text=-"
  1767. menustr = menustr + "|" + "Text=复制单据~tEvent=ue_bill_copy"
  1768. menustr = menustr + "|" + "Text=粘贴单据~tEvent=ue_bill_paste"
  1769. menustr = menustr + "|" + "Text=-"
  1770. menustr = menustr + "|" + "Text=批设定工序~tEvent=ue_p_pro"
  1771. menustr = menustr + "|" + "Text=-"
  1772. menustr = menustr + "|" + "Text=批审核~tEvent=ue_audit_all"
  1773. menustr = menustr + "|" + "Text=批撤审~tEvent=ue_caudit_all"
  1774. IF Len(Trim(menustr)) <> 0 THEN
  1775. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  1776. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  1777. dmPopupMenu.mf_PopMenu()
  1778. DESTROY dmPopupMenu
  1779. END IF
  1780. end event
  1781. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_scwg_taskwork_2_person
  1782. string tag = "按Ctrl键点击按钮可执行批操作"
  1783. integer x = 1239
  1784. end type
  1785. event cb_auditing::clicked;call super::clicked;IF NOT f_power_ind(1368) THEN
  1786. MessageBox(publ_operator,'你没有使用权限!')
  1787. RETURN
  1788. END IF
  1789. IF dw_edit_mode THEN RETURN
  1790. String arg_msg = ''
  1791. Long pagerert_row
  1792. Long ll_billid
  1793. IF NOT KeyDown(KeyControl!) THEN
  1794. pagerert_row = dw_pageretr.GetRow()
  1795. IF pagerert_row <= 0 THEN
  1796. MessageBox('系统提示','请选定当前目标单据!')
  1797. RETURN
  1798. END IF
  1799. IF MessageBox ("询问","是否确定要审核当前单据?",question!,yesno! ) = 2 THEN RETURN
  1800. ll_billid = dw_pageretr.Object.billid[pagerert_row]
  1801. IF uo_ware.auditmx_1(ll_billid,arg_msg,TRUE) = 0 THEN
  1802. MessageBox('Error!',arg_msg)
  1803. ELSE
  1804. MessageBox(publ_operator,'审核成功!')
  1805. wf_refresh_curuc(ll_billid)
  1806. END IF
  1807. ELSE
  1808. PARENT.TriggerEvent('ue_audit_all')
  1809. END IF
  1810. end event
  1811. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_scwg_taskwork_2_person
  1812. integer x = 1829
  1813. end type
  1814. event cb_xm::clicked;// //
  1815. //is_mx_menustr = ''
  1816. //is_mx_menustr += "|" + "Text=用户自定义~tEvent=ue_"
  1817. //call super::clicked
  1818. //is_mx_menustr += "|" + "Text=明细物料图片查看~tEvent=ue_fj_view"
  1819. //
  1820. m_Dfc_Control_PopupMenu dmPopupMenu
  1821. String menustr
  1822. IF dw_edit_mode THEN
  1823. menustr = "Text=增明细~tEvent=ue_addmx"
  1824. menustr += "|" + "Text=删明细~tEvent=ue_deletemx"
  1825. menustr += "|" + "Text=辅数计算计件工序数量(单行)~tEvent=ue_addqty_to_qty"
  1826. ELSE
  1827. IF if_ChkMtrlInfo THEN
  1828. menustr = "Text=查看产品相关信息~tEvent=ue_mtrl_info"
  1829. END IF
  1830. END IF
  1831. IF Trim(is_mx_menustr) <> '' THEN
  1832. IF menustr <> '' THEN
  1833. menustr += "|" + "Text=-"
  1834. END IF
  1835. menustr += is_mx_menustr
  1836. END IF
  1837. IF if_MtrlPicView THEN
  1838. IF Trim(menustr) <> "" THEN
  1839. menustr += "|" + "Text=-"
  1840. menustr += "|" + "Text=明细物料图片查看~tEvent=ue_MtrlPicView"
  1841. ELSE
  1842. menustr = "Text=明细物料图片查看~tEvent=ue_MtrlPicView"
  1843. END IF
  1844. END IF
  1845. IF Len(Trim(menustr)) <> 0 THEN
  1846. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  1847. dmPopupMenu.mf_BuildMenu(This, menustr)
  1848. dmPopupMenu.mf_PopMenu()
  1849. Destroy dmPopupMenu
  1850. END IF
  1851. end event
  1852. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_scwg_taskwork_2_person
  1853. end type
  1854. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_scwg_taskwork_2_person
  1855. boolean visible = false
  1856. integer x = 3118
  1857. integer y = 300
  1858. boolean enabled = false
  1859. end type
  1860. type cb_help from w_publ_1ton_share_detail`cb_help within w_scwg_taskwork_2_person
  1861. integer x = 2459
  1862. end type
  1863. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_scwg_taskwork_2_person
  1864. string tag = "按Ctrl键点击按钮可执行批操作"
  1865. integer x = 1431
  1866. end type
  1867. event cb_auditing_cancel::clicked;call super::clicked;IF NOT f_power_ind(1369) THEN
  1868. MessageBox(publ_operator,'你没有使用权限!')
  1869. RETURN
  1870. END IF
  1871. IF dw_edit_mode THEN RETURN
  1872. String arg_msg = ''
  1873. Long pagerert_row
  1874. Long ll_billid
  1875. IF NOT KeyDown(KeyControl!) THEN
  1876. pagerert_row = dw_pageretr.GetRow()
  1877. IF pagerert_row <= 0 THEN
  1878. MessageBox('系统提示','请选定当前目标单据!')
  1879. RETURN
  1880. END IF
  1881. IF MessageBox ("询问","是否确定要撤审当前单据?",question!,yesno! ) = 2 THEN RETURN
  1882. ll_billid = dw_pageretr.Object.billid[pagerert_row]
  1883. IF uo_ware.cauditmx_1(ll_billid,arg_msg,TRUE) = 0 THEN
  1884. MessageBox('Error!',arg_msg)
  1885. ELSE
  1886. MessageBox(publ_operator,'撤审成功!')
  1887. wf_refresh_curuc(ll_billid)
  1888. END IF
  1889. ELSE
  1890. PARENT.TriggerEvent('ue_caudit_all')
  1891. END IF
  1892. end event
  1893. type p_msg from w_publ_1ton_share_detail`p_msg within w_scwg_taskwork_2_person
  1894. integer x = 3241
  1895. end type
  1896. type p_help from w_publ_1ton_share_detail`p_help within w_scwg_taskwork_2_person
  1897. integer x = 3433
  1898. end type
  1899. type p_encl from w_publ_1ton_share_detail`p_encl within w_scwg_taskwork_2_person
  1900. integer x = 3337
  1901. end type
  1902. type p_other from w_publ_1ton_share_detail`p_other within w_scwg_taskwork_2_person
  1903. integer x = 3529
  1904. end type
  1905. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_scwg_taskwork_2_person
  1906. end type
  1907. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_scwg_taskwork_2_person
  1908. end type
  1909. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_scwg_taskwork_2_person
  1910. end type
  1911. type r_bar from w_publ_1ton_share_detail`r_bar within w_scwg_taskwork_2_person
  1912. integer x = 3502
  1913. integer width = 69
  1914. integer height = 156
  1915. end type
  1916. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_scwg_taskwork_2_person
  1917. end type
  1918. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_scwg_taskwork_2_person
  1919. end type
  1920. type st_4 from statictext within w_scwg_taskwork_2_person
  1921. integer x = 754
  1922. integer y = 204
  1923. integer width = 160
  1924. integer height = 48
  1925. boolean bringtotop = true
  1926. integer textsize = -9
  1927. integer weight = 400
  1928. fontcharset fontcharset = gb2312charset!
  1929. fontpitch fontpitch = variable!
  1930. string facename = "宋体"
  1931. long textcolor = 33554432
  1932. long backcolor = 134217739
  1933. string text = "分部"
  1934. alignment alignment = center!
  1935. boolean focusrectangle = false
  1936. end type
  1937. type ddlb_scid from uo_ddlb_scid within w_scwg_taskwork_2_person
  1938. integer x = 914
  1939. integer y = 192
  1940. integer width = 553
  1941. integer height = 604
  1942. boolean bringtotop = true
  1943. end type
  1944. event constructor;call super::constructor;cur_scid = THIS.uo_scid
  1945. cur_scid_arr = THIS.uo_scid_arr
  1946. end event
  1947. event selectionchanged;call super::selectionchanged;cur_scid = THIS.uo_scid
  1948. cur_scid_arr = THIS.uo_scid_arr
  1949. PARENT.TriggerEvent("retrieve_pageretr")
  1950. end event
  1951. type ddlb_status from dropdownlistbox within w_scwg_taskwork_2_person
  1952. integer x = 1618
  1953. integer y = 192
  1954. integer width = 320
  1955. integer height = 300
  1956. integer taborder = 40
  1957. boolean bringtotop = true
  1958. integer textsize = -9
  1959. integer weight = 400
  1960. fontcharset fontcharset = gb2312charset!
  1961. fontpitch fontpitch = variable!
  1962. string facename = "宋体"
  1963. long textcolor = 33554432
  1964. string text = "[全部]"
  1965. boolean sorted = false
  1966. string item[] = {"[全部]","待确认","待审核","已审核"}
  1967. borderstyle borderstyle = stylelowered!
  1968. end type
  1969. event selectionchanged;IF Index = 1 THEN
  1970. cur_affirmflag = -1
  1971. cur_flag = -1
  1972. ELSEIF Index = 2 THEN
  1973. cur_affirmflag = 0
  1974. cur_flag = 0
  1975. ELSEIF Index = 3 THEN
  1976. cur_affirmflag = 1
  1977. cur_flag = 0
  1978. ELSEIF Index = 4 THEN
  1979. cur_affirmflag = 1
  1980. cur_flag = 1
  1981. END IF
  1982. PARENT.TriggerEvent('retrieve_pageretr')
  1983. end event
  1984. type st_2 from statictext within w_scwg_taskwork_2_person
  1985. integer x = 1440
  1986. integer y = 204
  1987. integer width = 192
  1988. integer height = 48
  1989. integer textsize = -9
  1990. integer weight = 400
  1991. fontcharset fontcharset = gb2312charset!
  1992. fontpitch fontpitch = variable!
  1993. string facename = "宋体"
  1994. long textcolor = 33554432
  1995. long backcolor = 134217739
  1996. string text = "状态"
  1997. alignment alignment = center!
  1998. boolean focusrectangle = false
  1999. end type
  2000. type st_3 from statictext within w_scwg_taskwork_2_person
  2001. integer x = 1975
  2002. integer y = 204
  2003. integer width = 251
  2004. integer height = 48
  2005. boolean bringtotop = true
  2006. integer textsize = -9
  2007. integer weight = 400
  2008. fontcharset fontcharset = gb2312charset!
  2009. fontpitch fontpitch = variable!
  2010. string facename = "宋体"
  2011. long textcolor = 33554432
  2012. long backcolor = 134217739
  2013. string text = "默认日期"
  2014. boolean focusrectangle = false
  2015. end type
  2016. type em_dftdate from editmask within w_scwg_taskwork_2_person
  2017. integer x = 2208
  2018. integer y = 184
  2019. integer width = 430
  2020. integer height = 92
  2021. integer taborder = 20
  2022. boolean bringtotop = true
  2023. integer textsize = -9
  2024. integer weight = 400
  2025. fontcharset fontcharset = gb2312charset!
  2026. fontpitch fontpitch = variable!
  2027. string facename = "宋体"
  2028. long textcolor = 33554432
  2029. string text = "none"
  2030. alignment alignment = center!
  2031. borderstyle borderstyle = stylelowered!
  2032. maskdatatype maskdatatype = datemask!
  2033. string mask = "yyyy-mm-dd"
  2034. boolean spin = true
  2035. end type
  2036. event constructor;this.text = string(RelativeDate ( today(), -1 ),'yyyy-mm-dd')
  2037. end event
  2038. type st_5 from statictext within w_scwg_taskwork_2_person
  2039. integer x = 2642
  2040. integer y = 204
  2041. integer width = 251
  2042. integer height = 48
  2043. boolean bringtotop = true
  2044. integer textsize = -9
  2045. integer weight = 400
  2046. fontcharset fontcharset = gb2312charset!
  2047. fontpitch fontpitch = variable!
  2048. string facename = "宋体"
  2049. long textcolor = 33554432
  2050. long backcolor = 134217739
  2051. string text = "默认月份"
  2052. alignment alignment = right!
  2053. boolean focusrectangle = false
  2054. end type
  2055. type em_mth from editmask within w_scwg_taskwork_2_person
  2056. integer x = 2903
  2057. integer y = 184
  2058. integer width = 329
  2059. integer height = 92
  2060. integer taborder = 20
  2061. boolean bringtotop = true
  2062. integer textsize = -9
  2063. integer weight = 400
  2064. fontcharset fontcharset = gb2312charset!
  2065. fontpitch fontpitch = variable!
  2066. string facename = "宋体"
  2067. long textcolor = 33554432
  2068. alignment alignment = center!
  2069. borderstyle borderstyle = stylelowered!
  2070. maskdatatype maskdatatype = datemask!
  2071. string mask = "yyyymm"
  2072. boolean spin = true
  2073. end type
  2074. event constructor;THIS.Text = String(Today(),'yyyymm')
  2075. end event
  2076. type cb_affirm from uo_imflatbutton within w_scwg_taskwork_2_person
  2077. integer x = 837
  2078. integer width = 210
  2079. integer height = 164
  2080. integer taborder = 290
  2081. boolean bringtotop = true
  2082. string text = "确认&C"
  2083. string normalpicname = "audit.bmp"
  2084. integer picsize = 16
  2085. toolbaralignment pic_align = alignattop!
  2086. boolean border = false
  2087. end type
  2088. event clicked;call super::clicked;IF NOT f_power_ind(1367) THEN
  2089. MessageBox(publ_operator,'你没有使用权限!')
  2090. RETURN
  2091. END IF
  2092. IF dw_edit_mode THEN RETURN
  2093. String arg_msg
  2094. Long pagerert_row
  2095. IF NOT KeyDown(keycontrol!) THEN
  2096. pagerert_row = dw_pageretr.GetRow()
  2097. IF pagerert_row <= 0 THEN
  2098. MessageBox('系统提示','请选定当前目标单据!')
  2099. RETURN
  2100. END IF
  2101. IF MessageBox ("if","是否确定要确认当前单据?",question!,yesno! ) = 2 THEN RETURN
  2102. IF uo_ware.affirm(dw_pageretr.Object.billid[pagerert_row],arg_msg,TRUE) = 0 THEN
  2103. MessageBox('error!',arg_msg)
  2104. ELSE
  2105. MessageBox(publ_operator,'确认成功!')
  2106. wf_refresh_curuc(dw_pageretr.Object.billid[pagerert_row])
  2107. END IF
  2108. ELSE
  2109. IF MessageBox ("if","是否确定要批确认列表中未确认的单据?",question!,yesno! ) = 2 THEN RETURN
  2110. Long ll_i,ll_billid,ll_scid
  2111. Int li_flag
  2112. Long ll_suc,ll_fail
  2113. String arg_msg_arr
  2114. String ls_billcode
  2115. dw_pageretr.AcceptText()
  2116. Open(w_sys_wait_jdt) //初始化进度条
  2117. w_sys_wait_jdt.Show()
  2118. w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
  2119. FOR ll_i = 1 TO dw_pageretr.RowCount()
  2120. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.billcode[ll_i] + " 正在确认..." //进度信息
  2121. li_flag = dw_pageretr.Object.u_scwg_taskwork_2_affirmflag[ll_i]
  2122. IF li_flag = 1 THEN CONTINUE
  2123. ll_billid = dw_pageretr.Object.billid[ll_i]
  2124. ll_scid = dw_pageretr.Object.scid[ll_i]
  2125. ls_billcode = dw_pageretr.Object.billcode[ll_i]
  2126. IF uo_ware.affirm(ll_billid,arg_msg,TRUE) = 0 THEN
  2127. ll_fail++
  2128. arg_msg_arr = arg_msg_arr +ls_billcode +'失败原因:'+ arg_msg +'~r~n'
  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(publ_operator,'批确认成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail))
  2136. IF ll_fail > 0 THEN
  2137. OpenWithParm(w_message_err,arg_msg_arr)
  2138. END IF
  2139. PARENT.TriggerEvent('retrieve_pageretr')
  2140. END IF
  2141. end event
  2142. type cb_cancel_affirm from uo_imflatbutton within w_scwg_taskwork_2_person
  2143. integer x = 1047
  2144. integer width = 192
  2145. integer height = 164
  2146. integer taborder = 300
  2147. boolean bringtotop = true
  2148. string text = "反确认"
  2149. string normalpicname = "caudit.bmp"
  2150. integer picsize = 16
  2151. toolbaralignment pic_align = alignattop!
  2152. boolean border = false
  2153. end type
  2154. event clicked;call super::clicked;IF NOT f_power_ind(1367) THEN
  2155. MessageBox(publ_operator,'你没有使用权限!')
  2156. RETURN
  2157. END IF
  2158. IF dw_edit_mode THEN RETURN
  2159. String arg_msg
  2160. Long pagerert_row
  2161. IF NOT KeyDown(keycontrol!) THEN
  2162. pagerert_row = dw_pageretr.GetRow()
  2163. IF pagerert_row <= 0 THEN
  2164. MessageBox('系统提示','请选定当前目标单据!')
  2165. RETURN
  2166. END IF
  2167. IF MessageBox ("if","是否确定要反确认当前单据?",question!,yesno! ) = 2 THEN RETURN
  2168. IF uo_ware.c_affirm(dw_pageretr.Object.billid[pagerert_row],arg_msg,TRUE) = 0 THEN
  2169. MessageBox('error!',arg_msg)
  2170. ELSE
  2171. MessageBox(publ_operator,'反确认成功!')
  2172. wf_refresh_curuc(dw_pageretr.Object.billid[pagerert_row])
  2173. END IF
  2174. ELSE
  2175. IF MessageBox ("询问","是否确定要批反确认列表中已确认的单据?",question!,yesno! ) = 2 THEN RETURN
  2176. Long ll_i,ll_billid,ll_scid
  2177. Int li_flag
  2178. Long ll_suc,ll_fail
  2179. String arg_msg_arr
  2180. String ls_billcode
  2181. dw_pageretr.AcceptText()
  2182. Open(w_sys_wait_jdt) //初始化进度条
  2183. w_sys_wait_jdt.Show()
  2184. w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
  2185. FOR ll_i = 1 TO dw_pageretr.RowCount()
  2186. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.billcode[ll_i] + " 正在反确认..." //进度信息
  2187. li_flag = dw_pageretr.Object.u_scwg_taskwork_2_affirmflag[ll_i]
  2188. IF li_flag = 0 THEN CONTINUE
  2189. ll_billid = dw_pageretr.Object.billid[ll_i]
  2190. ll_scid = dw_pageretr.Object.scid[ll_i]
  2191. ls_billcode = dw_pageretr.Object.billcode[ll_i]
  2192. IF uo_ware.c_affirm(ll_billid,arg_msg,TRUE) = 0 THEN
  2193. ll_fail++
  2194. arg_msg_arr = arg_msg_arr +ls_billcode +'失败原因:'+ arg_msg +'~r~n'
  2195. CONTINUE
  2196. END IF
  2197. ll_suc++
  2198. w_sys_wait_jdt.wf_inc(ll_i) //进度
  2199. NEXT
  2200. Close(w_sys_wait_jdt)
  2201. MessageBox(publ_operator,'批反确认成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail))
  2202. IF ll_fail > 0 THEN
  2203. OpenWithParm(w_message_err,arg_msg_arr)
  2204. END IF
  2205. PARENT.TriggerEvent('retrieve_pageretr')
  2206. wf_flagstatus_rf()
  2207. END IF
  2208. end event