w_sc_taskwork.srw 91 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383
  1. $PBExportHeader$w_sc_taskwork.srw
  2. forward
  3. global type w_sc_taskwork from w_publ_1ton_share_detail
  4. end type
  5. type ddlb_status from dropdownlistbox within w_sc_taskwork
  6. end type
  7. type st_2 from statictext within w_sc_taskwork
  8. end type
  9. type em_dftdate from editmask within w_sc_taskwork
  10. end type
  11. type st_3 from statictext within w_sc_taskwork
  12. end type
  13. type cb_affirm from uo_imflatbutton within w_sc_taskwork
  14. end type
  15. type cb_cancel_affirm from uo_imflatbutton within w_sc_taskwork
  16. end type
  17. type ddlb_scid from uo_ddlb_scid within w_sc_taskwork
  18. end type
  19. type st_4 from statictext within w_sc_taskwork
  20. end type
  21. type cbx_empcode from checkbox within w_sc_taskwork
  22. end type
  23. type cbx_procode from checkbox within w_sc_taskwork
  24. end type
  25. type cbx_amount from checkbox within w_sc_taskwork
  26. end type
  27. type cbx_1 from checkbox within w_sc_taskwork
  28. end type
  29. type cbx_copy from checkbox within w_sc_taskwork
  30. end type
  31. end forward
  32. global type w_sc_taskwork from w_publ_1ton_share_detail
  33. integer x = 73
  34. integer y = 4
  35. string title = "产品个人工序计件单"
  36. boolean maxbox = true
  37. windowstate windowstate = maximized!
  38. event insert_childrow ( )
  39. event ue_p_pro ( )
  40. event ue_audit_all ( )
  41. event ue_caudit_all ( )
  42. event ue_copyrow_pro ( )
  43. event ue_copyrow_emp ( )
  44. event ue_rbbutton ( )
  45. event ue_dwchild_filter ( )
  46. event ue_f18 ( )
  47. event ue_importprice ( )
  48. ddlb_status ddlb_status
  49. st_2 st_2
  50. em_dftdate em_dftdate
  51. st_3 st_3
  52. cb_affirm cb_affirm
  53. cb_cancel_affirm cb_cancel_affirm
  54. ddlb_scid ddlb_scid
  55. st_4 st_4
  56. cbx_empcode cbx_empcode
  57. cbx_procode cbx_procode
  58. cbx_amount cbx_amount
  59. cbx_1 cbx_1
  60. cbx_copy cbx_copy
  61. end type
  62. global w_sc_taskwork w_sc_taskwork
  63. type variables
  64. uo_taskwork uo_taskwork_dq
  65. Int cur_flag = -1,cur_affirmflag = -1
  66. Int if_autopro = 0
  67. int if_copyqty = 0
  68. Long cur_scid_arr[],cur_scid
  69. int if_empcode = 0 ,if_procode = 0 ,if_amount = 0
  70. decimal lds_orderqty
  71. end variables
  72. forward prototypes
  73. public subroutine wf_enter_process ()
  74. public function integer wf_lock_uc ()
  75. public subroutine wf_lock_uc_order_pro ()
  76. public subroutine wf_clear_protect ()
  77. public function integer wf_addproid (long arg_mtrlid)
  78. public function integer wf_refresh_curuc (long arg_scid, long arg_billid)
  79. public function integer wf_flagstatus_rf ()
  80. public function integer wf_autoadd (long arg_scid, long arg_orderid, integer arg_ifmod, ref string arg_msg)
  81. public function integer wf_addproid_order (long arg_scid, long arg_orderid, long arg_printid)
  82. end prototypes
  83. event insert_childrow();Long li_row
  84. li_row = dw_child.InsertRow(0)
  85. dw_child.ScrollToRow(li_row)
  86. dw_child.SetColumn ('empcode')
  87. end event
  88. event ue_p_pro();IF NOT dw_edit_mode THEN
  89. MessageBox('系统提示','非编辑状态下不能使用')
  90. RETURN
  91. END IF
  92. IF MessageBox(publ_operator,'是否要确定要批设定工序', question!, YesNo!, 2) = 2 THEN
  93. RETURN
  94. END IF
  95. long ll_i
  96. dw_child.AcceptText()
  97. IF dw_child.RowCount() = 0 THEN RETURN
  98. FOR ll_i = 1 TO dw_child.RowCount()
  99. IF dw_child.Object.u_sc_taskworkmx_procode[1] = '' THEN RETURN
  100. IF ll_i = 1 THEN CONTINUE
  101. dw_child.Object.u_sc_taskworkmx_procode[ll_i] = dw_child.Object.u_sc_taskworkmx_procode[1]
  102. dw_child.Object.u_sc_taskworkmx_proname[ll_i] = dw_child.Object.u_sc_taskworkmx_proname[1]
  103. dw_child.Object.workprice[ll_i] = dw_child.Object.workprice[1]
  104. NEXT
  105. end event
  106. event ue_audit_all();IF NOT f_power_ind(1327) THEN
  107. MessageBox(publ_operator,'你没有使用权限!')
  108. RETURN
  109. END IF
  110. s_taskwork_abnormity_audit s_audit
  111. OpenWithParm(w_sc_taskwork_p_audit,1)
  112. s_audit = Message.PowerObjectParm
  113. IF s_audit.audit_month = 0 THEN RETURN
  114. String arg_msg
  115. IF uo_taskwork_dq.auditing(s_audit.audit_wageid,s_audit.audit_month,arg_msg,TRUE) = 0 THEN
  116. MessageBox(publ_operator,'产品个人工序计件单审核失败,原因>>'+arg_msg)
  117. RETURN
  118. END IF
  119. MessageBox(publ_operator,'产品个人工序计件单审核成功')
  120. this.TriggerEvent('retrieve_pageretr')
  121. end event
  122. event ue_caudit_all();IF NOT f_power_ind(1328) THEN
  123. MessageBox(publ_operator,'你没有使用权限!')
  124. RETURN
  125. END IF
  126. s_taskwork_abnormity_audit s_audit
  127. OpenWithParm(w_sc_taskwork_p_audit,0)
  128. s_audit = Message.PowerObjectParm
  129. IF s_audit.audit_month = 0 THEN RETURN
  130. String arg_msg
  131. IF uo_taskwork_dq.c_auditing(s_audit.audit_wageid,s_audit.audit_month,arg_msg,TRUE) = 0 THEN
  132. MessageBox(publ_operator,'计件单撤审失败,原因>>'+arg_msg)
  133. RETURN
  134. END IF
  135. MessageBox(publ_operator,'计件单撤审成功')
  136. this.TriggerEvent('retrieve_pageretr')
  137. end event
  138. event ue_copyrow_pro();IF NOT dw_edit_mode THEN RETURN
  139. Long ll_childrow
  140. ll_childrow = dw_child.GetRow()
  141. IF ll_childrow = 0 THEN
  142. MessageBox('NO','请选择复制对象!')
  143. RETURN
  144. END IF
  145. Long ll_i
  146. Long ll_j
  147. ll_j = 0
  148. FOR ll_i = 1 TO dw_child.RowCount()
  149. IF dw_child.IsSelected(ll_i) THEN
  150. IF if_copyqty = 1 THEN
  151. dw_child.Object.amount[ll_i] = dw_child.Object.amount[ll_i] / 2
  152. dw_child.Object.workhour[ll_i] = dw_child.Object.workhour[ll_i] / 2
  153. END IF
  154. ll_j++
  155. dw_child.RowsCopy (ll_i,ll_i,Primary!,ds_copypaste,ll_j,Primary!)
  156. END IF
  157. NEXT
  158. //dw_child.RowsCopy (ll_childrow,ll_childrow,Primary!,ds_copypaste,1,Primary!)
  159. FOR ll_i = 1 TO ds_copypaste.RowCount()
  160. ds_copypaste.RowsCopy (ll_i,ll_i,Primary!,dw_child,ll_childrow + ll_i,Primary!)
  161. dw_child.Object.empid[ll_childrow + ll_i] = 0
  162. dw_child.Object.empcode[ll_childrow + ll_i] = ''
  163. dw_child.Object.empname[ll_childrow + ll_i] = ''
  164. NEXT
  165. //ds_copypaste.RowsCopy (1,1,Primary!,dw_child,ll_childrow + 1,Primary!)
  166. ds_copypaste.Reset()
  167. dw_child.SelectRow(0,FALSE)
  168. dw_child.SetRow(ll_childrow + 1)
  169. dw_child.ScrollToRow(ll_childrow + 1)
  170. dw_child.SelectRow(ll_childrow + 1,TRUE)
  171. end event
  172. event ue_copyrow_emp();IF NOT dw_edit_mode THEN RETURN
  173. Long ll_childrow
  174. ll_childrow = dw_child.GetRow()
  175. IF ll_childrow = 0 THEN
  176. MessageBox('NO','请选择复制对象!')
  177. RETURN
  178. END IF
  179. Long ll_i
  180. Long ll_j
  181. ll_j = 0
  182. FOR ll_i = 1 TO dw_child.RowCount()
  183. IF dw_child.IsSelected(ll_i) THEN
  184. IF if_copyqty = 1 THEN
  185. dw_child.Object.amount[ll_i] = dw_child.Object.amount[ll_i] / 2
  186. dw_child.Object.workhour[ll_i] = dw_child.Object.workhour[ll_i] / 2
  187. END IF
  188. ll_j++
  189. dw_child.RowsCopy (ll_i,ll_i,Primary!,ds_copypaste,ll_j,Primary!)
  190. END IF
  191. NEXT
  192. //dw_child.RowsCopy (ll_childrow,ll_childrow,Primary!,ds_copypaste,1,Primary!)
  193. FOR ll_i = 1 TO ds_copypaste.RowCount()
  194. ds_copypaste.RowsCopy (ll_i,ll_i,Primary!,dw_child,ll_childrow + ll_i,Primary!)
  195. dw_child.Object.u_sc_taskworkmx_proorder[ll_childrow + ll_i] = 0
  196. dw_child.Object.u_sc_taskworkmx_procode[ll_childrow + ll_i] = ''
  197. dw_child.Object.u_sc_taskworkmx_proname[ll_childrow + ll_i] = ''
  198. dw_child.Object.u_sc_taskworkmx_status[ll_childrow + ll_i] = ''
  199. dw_child.Object.workprice[ll_childrow + ll_i] = 0
  200. NEXT
  201. //ds_copypaste.RowsCopy (1,1,Primary!,dw_child,ll_childrow + 1,Primary!)
  202. ds_copypaste.Reset()
  203. dw_child.SelectRow(0,FALSE)
  204. dw_child.SetRow(ll_childrow + 1)
  205. dw_child.ScrollToRow(ll_childrow + 1)
  206. dw_child.SelectRow(ll_childrow + 1,TRUE)
  207. end event
  208. event ue_rbbutton();dw_child.RBUTTON_FILTER_USE=true
  209. dw_child.event rbbutton( dw_child.arg_ins_dwtype,dw_child.arg_ins_dwname,dw_child.arg_ins_dwdata,dw_child.arg_ins_dwrow )
  210. dw_child.RBUTTON_FILTER_USE=false
  211. end event
  212. event ue_dwchild_filter();dw_child.setfilter('')
  213. dw_child.filter()
  214. end event
  215. event ue_f18();//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用
  216. Long child_row
  217. Long ls_null
  218. IF NOT dw_edit_mode THEN RETURN
  219. child_row = dw_child.GetRow()
  220. s_edit_index_tran s_ch_tran
  221. Long ls_j
  222. IF NOT IsValid(w_empinfo_select) THEN
  223. OpenWithParm(w_empinfo_select,s_ch_tran) //调用
  224. s_empinfo_array S_INSCUST
  225. S_INSCUST = Message.PowerObjectParm //接受返回结构
  226. FOR ls_j = 1 TO UpperBound(S_INSCUST.empid)
  227. IF S_INSCUST.empid[ls_j] > 0 THEN //正常返回值则可以取以下值
  228. IF dw_child.Find('empid='+String(S_INSCUST.empid[ls_j]),1,dw_child.RowCount()) = 0 THEN
  229. IF dw_child.GetRow() > 0 THEN
  230. IF dw_child.Object.empid[child_row] <> 0 and UpperBound(S_INSCUST.empid) > 1 THEN
  231. child_row = dw_child.InsertRow (0)
  232. ELSE
  233. child_row = dw_child.GetRow()
  234. END IF
  235. ELSE
  236. child_row = dw_child.InsertRow (0)
  237. END IF
  238. END IF
  239. dw_child.Object.empid[child_row] = S_INSCUST.empid[ls_j]
  240. dw_child.Object.empcode[child_row] = S_INSCUST.empcode[ls_j]
  241. dw_child.Object.empname[child_row] = S_INSCUST.empname[ls_j]
  242. END IF
  243. NEXT
  244. dw_child.SetRow(child_row)
  245. dw_child.ScrollToRow(child_row)
  246. dw_child.SetFocus()
  247. END IF
  248. dw_child.SetRedraw(TRUE)
  249. dw_child.SetFocus()
  250. end event
  251. event ue_importprice();IF Not dw_edit_mode THEN
  252. MessageBox('提示',"非编辑状态下不可以使用!",information!,OK!)
  253. RETURN
  254. END IF
  255. // 导入工价表
  256. Long ls_row
  257. String ls_mtrlcode,ls_procode,err_str
  258. Long uc_row
  259. err_str=''
  260. uc_row = dw_uc.GetRow()
  261. ls_mtrlcode = dw_uc.Object.u_mtrldef_mtrlcode[uc_row]
  262. dw_child.accepttext()
  263. FOR ls_row = 1 TO dw_child.RowCount()
  264. ls_procode = dw_child.Object.u_sc_taskworkmx_procode[ls_row]
  265. IF f_getwrkprice(ls_mtrlcode,ls_procode) > 0 THEN
  266. dw_child.Object.workprice[ls_row] = f_getwrkprice(ls_mtrlcode,ls_procode)
  267. ELSE
  268. err_str = err_str + "物料["+ls_mtrlcode+"]查询工序["+ls_procode+"]失败或工价表单价为0,请检查。 ~n "
  269. END IF
  270. NEXT
  271. IF err_str <> '' THEN
  272. MessageBox('错误',err_str,stopsign!,OK!)
  273. END IF
  274. end event
  275. public subroutine wf_enter_process ();long li_row
  276. //string ls_empcode,ls_empname,ls_procode,ls_proname,workgroupname,groupcode,groupname
  277. //long ls_empid,ls_proid,ls_mtrlid,cnt=0
  278. //decimal ls_workprice
  279. //long child_row
  280. //long ls_null
  281. //setnull(ls_null)
  282. //s_wrkproselect s_proselect
  283. //dw_child.accepttext()
  284. //child_row=dw_child.getrow()
  285. //
  286. //choose case dw_child.GetColumnName( )
  287. // case 'empcode'
  288. // ls_empcode=trim(dw_child.object.empcode[child_row])
  289. // if isnull(ls_empcode) then ls_empcode=''
  290. // if ls_empcode<>'' then
  291. // SELECT top 1
  292. // u_rs_empinfo.empid,
  293. // u_rs_empinfo.empname
  294. // INTO :ls_empid,:ls_empname
  295. // FROM u_rs_empinfo
  296. // WHERE (u_rs_empinfo.empcode=:ls_empcode) and u_rs_empinfo.status=1;
  297. // if sqlca.sqlcode=-1 then
  298. // Messagebox('系统提示','查询员工资料出错,原因:'+sqlca.sqlerrtext)
  299. // return
  300. // end if
  301. // end if
  302. //
  303. // if sqlca.sqlcode=100 or ls_empcode='' then
  304. // s_empselect s_select
  305. // s_select.ds_empinfo=ds_empinfo
  306. // s_select.empcode=trim(dw_child.object.empcode[dw_child.getrow()])
  307. // openwithparm(w_rs_empselect,s_select)
  308. // s_select=message.PowerObjectParm
  309. // if s_select.empid>0 then
  310. // dw_child.object.empid[child_row]=s_select.empid
  311. // dw_child.object.empcode[child_row]=s_select.empcode
  312. // dw_child.object.empname[child_row]=s_select.empname
  313. // dw_child.SetColumn('procode')
  314. // end if
  315. // else
  316. // dw_child.object.empid[child_row]=ls_empid
  317. // dw_child.object.empname[child_row]=ls_empname
  318. // dw_child.SetColumn('procode')
  319. // end if
  320. //
  321. // case 'procode'
  322. // ls_mtrlid=dw_uc.object.mtrlid[dw_uc.getrow()]
  323. // ls_procode=trim(dw_child.object.procode[child_row])
  324. // if isnull(ls_procode) then ls_procode=''
  325. // workgroupname=trim(dw_uc.object.wrkgrpname[dw_uc.getrow()])
  326. // select top 1 code into :groupcode from u_sc_workgroup where name=:workgroupname;
  327. // if sqlca.sqlcode=-1 then
  328. // Messagebox('系统提示','查询工组资料出错,原因:'+sqlca.sqlerrtext)
  329. // return
  330. // end if
  331. //
  332. // if ls_workgroup<>dw_uc.object.wrkgrpname[dw_uc.getrow()] then
  333. // ls_workgroup=trim(dw_uc.object.wrkgrpname[dw_uc.getrow()])
  334. // select wrkgrpid into :wrkgrpid from u_sc_workgroup where name=:ls_workgroup;
  335. // if sqlca.sqlcode<>0 then
  336. // Messagebox('系统提示','查询工组资料出错,原因:'+sqlca.sqlerrtext)
  337. // return
  338. // end if
  339. // end if
  340. //
  341. //
  342. // if groupcode=ls_procode then
  343. // //select proid,name into :ls_proid,:ls_proname from u_sc_workprocedure where code=:ls_procode;
  344. // ls_proid=-1
  345. // ls_proname=ls_workgroup+'全套'
  346. // else
  347. // if ls_procode<>'' then
  348. // select top 1
  349. // u_sc_workprice.proid,
  350. // u_sc_workprice.proname,
  351. // u_sc_workprice.workprice
  352. // into :ls_proid,
  353. // :ls_proname,
  354. // :ls_workprice
  355. // from u_sc_workprice
  356. // where u_sc_workprice.procode=:ls_procode
  357. // and u_sc_workprice.workgroupid=:wrkgrpid
  358. // and u_sc_workprice.mtrlid=:ls_mtrlid;
  359. //
  360. // if sqlca.sqlcode=-1 then
  361. // Messagebox('系统提示','查询工序资料出错,原因:'+sqlca.sqlerrtext)
  362. // return
  363. // end if
  364. // end if
  365. // end if
  366. //
  367. // if sqlca.sqlcode=100 or ls_procode='' then
  368. //
  369. // s_proselect.workgroupid=wrkgrpid
  370. // s_proselect.mtrlid=dw_uc.object.mtrlid[dw_uc.getrow()]
  371. // s_proselect.procode=trim(dw_child.object.procode[dw_child.getrow()])
  372. // s_proselect.flag=0
  373. // openwithparm(w_sc_workprocedure_select,s_proselect)
  374. // s_proselect=message.PowerObjectParm
  375. // if trim(s_proselect.procode)<>'' then
  376. // dw_child.object.proid[child_row]=s_proselect.proid
  377. // dw_child.object.procode[child_row]=s_proselect.procode
  378. // dw_child.object.proname[child_row]=s_proselect.proname
  379. // dw_child.object.workprice[child_row]=s_proselect.workprice
  380. // dw_child.SetColumn('amount')
  381. // end if
  382. // else
  383. // dw_child.object.proid[child_row]=ls_proid
  384. // dw_child.object.procode[child_row]=ls_procode
  385. // dw_child.object.proname[child_row]=ls_proname
  386. // dw_child.object.workprice[child_row]=ls_workprice
  387. // dw_child.SetColumn('amount')
  388. // end if
  389. //
  390. // case 'proname'
  391. // ls_mtrlid=dw_uc.object.mtrlid[dw_uc.getrow()]
  392. // ls_proname=trim(dw_child.object.proname[child_row])
  393. // if isnull(ls_proname) then ls_proname=''
  394. // workgroupname=trim(dw_uc.object.wrkgrpname[dw_uc.getrow()])
  395. // select top 1 name into :groupname from u_sc_workgroup where name=:workgroupname;
  396. // if sqlca.sqlcode=-1 then
  397. // Messagebox('系统提示','查询工组资料出错,原因:'+sqlca.sqlerrtext)
  398. // return
  399. // end if
  400. //
  401. // if ls_workgroup<>dw_uc.object.wrkgrpname[dw_uc.getrow()] then
  402. // ls_workgroup=trim(dw_uc.object.wrkgrpname[dw_uc.getrow()])
  403. // select wrkgrpid into :wrkgrpid from u_sc_workgroup where name=:ls_workgroup;
  404. // if sqlca.sqlcode<>0 then
  405. // Messagebox('系统提示','查询工组资料出错,原因:'+sqlca.sqlerrtext)
  406. // return
  407. // end if
  408. // end if
  409. //
  410. //
  411. // if groupname+'全套'=ls_proname then
  412. //// select proid,name,code into :ls_proid,:ls_proname,:ls_procode from u_sc_workprocedure where name=:ls_proname;
  413. // ls_proid=-1
  414. // select code into :ls_procode from u_sc_workgroup where name=:groupname;
  415. // if sqlca.sqlcode<>0 then
  416. // Messagebox('系统提示','查询工组资料出错,原因:'+sqlca.sqlerrtext)
  417. // return
  418. // end if
  419. // else
  420. // if ls_proname<>'' then
  421. // select top 1
  422. // u_sc_workprice.proid,
  423. // u_sc_workprice.procode,
  424. // u_sc_workprice.workprice
  425. // into :ls_proid,
  426. // :ls_procode,
  427. // :ls_workprice
  428. // from u_sc_workprice
  429. // where u_sc_workprice.procode=:ls_proname
  430. // and u_sc_workprice.workgroupid=:wrkgrpid
  431. // and u_sc_workprice.mtrlid=:ls_mtrlid;
  432. //
  433. // if sqlca.sqlcode=-1 then
  434. // Messagebox('系统提示','查询工序资料出错,原因:'+sqlca.sqlerrtext)
  435. // return
  436. // end if
  437. // end if
  438. // end if
  439. //
  440. // if sqlca.sqlcode=100 or ls_proname='' then
  441. //
  442. // s_proselect.workgroupid=wrkgrpid
  443. // s_proselect.mtrlid=dw_uc.object.mtrlid[dw_uc.getrow()]
  444. // s_proselect.flag=1
  445. // s_proselect.proname=trim(dw_child.object.proname[dw_child.getrow()])
  446. // openwithparm(w_sc_workprocedure_select,s_proselect)
  447. // s_proselect=message.PowerObjectParm
  448. // if trim(s_proselect.procode)<>'' then
  449. // dw_child.object.proid[child_row]=s_proselect.proid
  450. // dw_child.object.procode[child_row]=s_proselect.procode
  451. // dw_child.object.proname[child_row]=s_proselect.proname
  452. // dw_child.object.workprice[child_row]=s_proselect.workprice
  453. // dw_child.SetColumn('amount')
  454. // end if
  455. // else
  456. // dw_child.object.proid[child_row]=ls_proid
  457. // dw_child.object.proname[child_row]=ls_proname
  458. // dw_child.object.procode[child_row]=ls_procode
  459. // dw_child.object.workprice[child_row]=ls_workprice
  460. // dw_child.SetColumn('amount')
  461. // end if
  462. //// dw_child.setredraw(true)
  463. // case 'dscrp'
  464. // if dw_child.getrow()=dw_child.rowcount() then
  465. // li_row=dw_child.insertrow(0)
  466. // dw_child.scrolltorow(li_row)
  467. // dw_child.SetColumn ('empcode')
  468. // else
  469. // if dw_child.getrow()<dw_child.rowcount() then
  470. // dw_child.scrolltorow(child_row+1)
  471. // dw_child.SetColumn ('empcode')
  472. // end if
  473. // end if
  474. //
  475. //end choose
  476. end subroutine
  477. public function integer wf_lock_uc ();//wf_lock_uc
  478. INT LS_INT
  479. long ls_row
  480. long ll_mtrlcode_taborder=0
  481. ls_row=dw_uc.getrow()
  482. IF dw_edit_mode THEN
  483. FOR LS_INT=1 TO uc_column_int
  484. dw_uc.SetTabOrder (LS_INT,LS_INT*10 )
  485. NEXT
  486. wf_lock_uc_order_pro()
  487. ELSE
  488. FOR LS_INT=1 TO uc_column_int
  489. dw_uc.SetTabOrder (LS_INT, 0)
  490. NEXT
  491. wf_clear_protect()
  492. END IF
  493. if ls_row>0 then dw_uc.setrow(ls_row)
  494. RETURN 1
  495. end function
  496. public subroutine wf_lock_uc_order_pro ();if sys_option_task_noorder=0 then
  497. dw_uc.Modify("u_mtrldef_mtrlcode.Protect=1")
  498. dw_uc.Modify("u_order_ml_orderqty.Protect=1")
  499. dw_uc.Modify("u_mtrldef_mtrlname.Protect=1")
  500. dw_uc.Modify("u_order_ml_ordercode.Protect=0")
  501. else
  502. dw_uc.Modify("u_mtrldef_mtrlcode.Protect=0")
  503. dw_uc.Modify("u_order_ml_orderqty.Protect=0")
  504. dw_uc.Modify("u_mtrldef_mtrlname.Protect=0")
  505. dw_uc.Modify("u_order_ml_ordercode.Protect=1")
  506. end if
  507. end subroutine
  508. public subroutine wf_clear_protect ();dw_uc.Modify("u_mtrldef_mtrlcode.Protect=0")
  509. dw_uc.Modify("u_order_ml_orderqty.Protect=0")
  510. dw_uc.Modify("u_mtrldef_mtrlname.Protect=0")
  511. dw_uc.Modify("u_order_ml_ordercode.Protect=0")
  512. end subroutine
  513. public function integer wf_addproid (long arg_mtrlid);String ls_procode,procode[],ls_proname,proname[]
  514. Long ls_proid,proid[]
  515. Dec ls_workprice,workprice[],ls_workhour,workhour[]
  516. long ll_proorder[]
  517. Long count,i,ll_childrow
  518. count = 1
  519. dw_child.Reset( )
  520. DECLARE pf_cur CURSOR FOR
  521. SELECT u_sc_workprice.proid,
  522. u_sc_workprice.procode,
  523. u_sc_workprice.Proname,
  524. u_sc_workprice.workPrice,
  525. u_sc_workprice.workHour,
  526. u_sc_workprice.proorder
  527. FROM u_sc_workprice,u_sc_workgroup
  528. WHERE u_sc_workprice.Mtrlid = :arg_mtrlid
  529. AND u_sc_workprice.wrkGrpid = u_sc_workgroup.wrkGrpid
  530. and u_sc_workprice.lsxtype <> 0
  531. Order By u_sc_workgroup.wrkgrpcode;
  532. OPEN pf_cur;
  533. FETCH pf_cur INTO :proid[count],:procode[count],
  534. :proname[count],:workprice[count],
  535. :workhour[count],:ll_proorder[count];
  536. DO WHILE sqlca.SQLCode = 0
  537. count++
  538. FETCH pf_cur INTO :proid[count],:procode[count],
  539. :proname[count],:workprice[count],
  540. :workhour[count],:ll_proorder[count];
  541. LOOP
  542. count = count - 1
  543. CLOSE pf_cur;
  544. FOR i = 1 TO count
  545. dw_child.AcceptText()
  546. ll_childrow = dw_child.InsertRow(0)
  547. dw_child.Object.u_sc_taskworkmx_procode[ll_childrow] = procode[i]
  548. dw_child.Object.u_sc_taskworkmx_proname[ll_childrow] = proname[i]
  549. dw_child.Object.workprice[ll_childrow] = workprice[i]
  550. dw_child.Object.workhour[ll_childrow] = workhour[i]
  551. dw_child.Object.u_sc_taskworkmx_proorder[ll_childrow] = ll_proorder[i]
  552. dw_child.Object.amount[ll_childrow] = lds_orderqty
  553. NEXT
  554. dw_child.setfocus()
  555. dw_child.setcolumn('empcode')
  556. RETURN 1
  557. end function
  558. public function integer wf_refresh_curuc (long arg_scid, long arg_billid);//wf_refresh_curuc
  559. IF arg_billid <= 0 OR IsNull(arg_billid) THEN RETURN 0
  560. Long uc_row
  561. uc_row = dw_pageretr.GetRow()
  562. IF uc_row <= 0 THEN RETURN 0
  563. DateTime billdate
  564. String dscrp
  565. Long wagemth
  566. String billcode
  567. Long orderid
  568. Long mtrlid, relid
  569. Long wageid
  570. Int auditingflag
  571. String auditingrep
  572. DateTime auditingdate
  573. DateTime opdate
  574. String opemp
  575. DateTime moddate
  576. String modemp
  577. String mtrlcode
  578. String mtrlname
  579. String ordercode
  580. Decimal qty
  581. Int affirmflag
  582. String affirmemp
  583. DateTime affirmdate
  584. String orderpccode
  585. String relcode
  586. SELECT u_sc_taskwork.billdate ,
  587. u_sc_taskwork.dscrp ,
  588. u_sc_taskwork.wagemth ,
  589. u_sc_taskwork.billcode ,
  590. u_sc_taskwork.orderid ,
  591. u_sc_taskwork.mtrlid ,
  592. u_sc_taskwork.wageid ,
  593. u_sc_taskwork.auditingflag ,
  594. u_sc_taskwork.auditingrep ,
  595. u_sc_taskwork.auditingdate ,
  596. u_sc_taskwork.affirmflag ,
  597. u_sc_taskwork.affirmemp ,
  598. u_sc_taskwork.affirmdate ,
  599. u_sc_taskwork.opdate ,
  600. u_sc_taskwork.opemp ,
  601. u_sc_taskwork.moddate ,
  602. u_sc_taskwork.modemp ,
  603. u_mtrldef.mtrlcode ,
  604. u_mtrldef.mtrlname ,
  605. u_saletask.taskcode,
  606. u_saletaskmx.orderqty,
  607. u_saletask.taskcode,
  608. u_sc_taskwork.relcode,
  609. u_sc_taskwork.relid
  610. INTO
  611. :billdate ,
  612. :dscrp ,
  613. :wagemth ,
  614. :billcode ,
  615. :orderid ,
  616. :mtrlid ,
  617. :wageid ,
  618. :auditingflag ,
  619. :auditingrep ,
  620. :auditingdate ,
  621. :affirmflag,
  622. :affirmemp,
  623. :affirmdate,
  624. :opdate ,
  625. :opemp ,
  626. :moddate ,
  627. :modemp ,
  628. :mtrlcode ,
  629. :mtrlname ,
  630. :ordercode ,
  631. :qty,
  632. :orderpccode,
  633. :relcode,
  634. :relid
  635. FROM u_sc_taskwork left outer join
  636. u_saletaskmx on
  637. ( u_sc_taskwork.orderid = u_saletaskmx.TaskID ) and
  638. ( u_sc_taskwork.relid = u_saletaskmx.printid ) and
  639. ( u_sc_taskwork.scid = u_saletaskmx.scid)
  640. left outer join u_saletask on
  641. u_saletask.TaskID = u_saletaskmx.TaskID and
  642. u_saletask.scid = u_saletaskmx.scid,
  643. u_Mtrldef
  644. WHERE ( u_sc_taskwork.Mtrlid = u_Mtrldef.Mtrlid ) AND
  645. ( u_sc_taskwork.billid = :arg_billid ) AND
  646. ( u_sc_taskwork.scid = :arg_scid );
  647. IF sqlca.SQLCode <> 0 THEN
  648. MessageBox('系统提示',"查询计件单操作失败"+sqlca.SQLErrText)
  649. RETURN 0
  650. END IF
  651. dw_pageretr.Object.billid[uc_row] = arg_billid
  652. dw_pageretr.Object.billdate[uc_row] = billdate
  653. dw_pageretr.Object.dscrp[uc_row] = dscrp
  654. dw_pageretr.Object.u_sc_taskwork_wagemth[uc_row] = wagemth
  655. dw_pageretr.Object.billcode[uc_row] = billcode
  656. dw_pageretr.Object.mtrlid[uc_row] = mtrlid
  657. dw_pageretr.Object.wageid[uc_row] = wageid
  658. dw_pageretr.Object.auditingflag[uc_row] = auditingflag
  659. dw_pageretr.Object.u_sc_taskwork_auditingrep[uc_row] = auditingrep
  660. dw_pageretr.Object.auditingdate[uc_row] = auditingdate
  661. dw_pageretr.Object.opdate[uc_row] = opdate
  662. dw_pageretr.Object.opemp[uc_row] = opemp
  663. dw_pageretr.Object.u_sc_taskwork_moddate[uc_row] = moddate
  664. dw_pageretr.Object.u_sc_taskwork_modemp[uc_row] = modemp
  665. dw_pageretr.Object.u_mtrldef_mtrlcode[uc_row] = mtrlcode
  666. dw_pageretr.Object.u_mtrldef_mtrlname[uc_row] = mtrlname
  667. dw_pageretr.Object.u_saletask_taskcode[uc_row] = ordercode
  668. dw_pageretr.Object.u_saletaskmx_orderqty[uc_row] = qty
  669. dw_pageretr.Object.u_sc_taskwork_affirmflag[uc_row] = affirmflag
  670. dw_pageretr.Object.u_sc_taskwork_affirmdate[uc_row] = affirmdate
  671. dw_pageretr.Object.u_sc_taskwork_affirmemp[uc_row] = affirmemp
  672. dw_pageretr.Object.u_sc_taskwork_scid[uc_row] = arg_scid
  673. dw_pageretr.Object.u_saletask_taskcode[uc_row] = orderpccode
  674. dw_pageretr.Object.u_sc_taskwork_orderid[uc_row] = orderid
  675. dw_pageretr.Object.u_sc_taskwork_relid[uc_row] = relid
  676. dw_pageretr.Object.u_sc_taskwork_relcode[uc_row] = relcode
  677. dw_uc.Reset()
  678. dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  679. dw_uc.ResetUpdate()
  680. dw_uc.SetRedraw(TRUE)
  681. wf_flagstatus_rf()
  682. RETURN 1
  683. end function
  684. public function integer wf_flagstatus_rf ();Long pagerert_row
  685. Int li_flag,li_affirmflag
  686. pagerert_row = dw_pageretr.GetRow()
  687. IF pagerert_row <= 0 THEN
  688. cb_auditing.Enabled = FALSE
  689. cb_auditing_cancel.Enabled = FALSE
  690. cb_affirm.Enabled = FALSE
  691. cb_cancel_affirm.Enabled = FALSE
  692. GOTO ext
  693. END IF
  694. li_flag = dw_pageretr.Object.auditingflag[pagerert_row]
  695. li_affirmflag = dw_pageretr.Object.u_sc_taskwork_affirmflag[pagerert_row]
  696. IF dw_edit_mode THEN
  697. cb_auditing.Enabled = FALSE
  698. cb_auditing_cancel.Enabled = FALSE
  699. cb_affirm.Enabled = FALSE
  700. cb_cancel_affirm.Enabled = FALSE
  701. ELSE
  702. cb_auditing.Enabled = TRUE
  703. cb_auditing_cancel.Enabled = TRUE
  704. IF sys_option_taskwork_not_affirm = 0 THEN
  705. IF li_affirmflag = 0 THEN
  706. cb_affirm.Enabled = TRUE
  707. cb_cancel_affirm.Enabled = FALSE
  708. ELSEIF li_affirmflag = 1 AND li_flag = 0 THEN
  709. cb_affirm.Enabled = FALSE
  710. cb_cancel_affirm.Enabled = TRUE
  711. ELSEIF li_affirmflag = 1 AND li_flag = 1 THEN
  712. cb_affirm.Enabled = FALSE
  713. cb_cancel_affirm.Enabled = FALSE
  714. END IF
  715. ELSE
  716. cb_affirm.Enabled = FALSE
  717. cb_cancel_affirm.Enabled = FALSE
  718. END IF
  719. END IF
  720. ext:
  721. RETURN 0
  722. end function
  723. public function integer wf_autoadd (long arg_scid, long arg_orderid, integer arg_ifmod, ref string arg_msg);Int rslt = 1
  724. String ls_ordercode,ls_billcode,ls_relcode,ls_status,ls_woodcode,ls_pcode
  725. Decimal ld_orderqty
  726. Long ll_mtrlid
  727. String ls_mtrlcode,ls_mtrlname,ls_unit
  728. Long ll_row
  729. ll_row = dw_uc.GetRow()
  730. IF ll_row <= 0 THEN
  731. rslt = 0
  732. arg_msg = '请选择单据'
  733. GOTO ext
  734. END IF
  735. SELECT u_Order_ml.OrderCode,
  736. u_Order_ml.billcode,
  737. u_Order_ml.relcode,
  738. u_Order_ml.status_mode,
  739. u_Order_ml.woodcode,
  740. u_Order_ml.pcode,
  741. u_Order_ml.orderqty,
  742. u_mtrldef.mtrlid,
  743. u_mtrldef.mtrlcode,
  744. u_mtrldef.mtrlname,
  745. u_mtrldef.unit
  746. INTO :ls_ordercode,
  747. :ls_billcode,
  748. :ls_relcode,
  749. :ls_status,
  750. :ls_woodcode,
  751. :ls_pcode,
  752. :ld_orderqty,
  753. :ll_mtrlid,
  754. :ls_mtrlcode,
  755. :ls_mtrlname,
  756. :ls_unit
  757. FROM u_Order_ml INNER JOIN
  758. u_mtrldef ON u_Order_ml.mtrlid = u_mtrldef.mtrlid
  759. WHERE u_order_ml.scid = :arg_scid
  760. AND u_Order_ml.orderid = :arg_orderid;
  761. IF sqlca.SQLCode <> 0 THEN
  762. rslt = 0
  763. arg_msg = '查询生产计划相关信息失败'+sqlca.SQLErrText
  764. GOTO ext
  765. END IF
  766. dw_uc.Object.u_sc_taskwork_orderid[ll_row] = arg_orderid
  767. dw_uc.Object.u_order_ml_ordercode[ll_row] = ls_ordercode
  768. dw_uc.Object.mtrlid[ll_row] = ll_mtrlid
  769. dw_uc.Object.u_mtrldef_mtrlcode[ll_row] = ls_mtrlcode
  770. dw_uc.Object.u_mtrldef_mtrlname[ll_row] = ls_mtrlname
  771. dw_uc.Object.u_mtrldef_unit[ll_row] = ls_unit
  772. dw_uc.Object.u_order_ml_orderqty[ll_row] = ld_orderqty
  773. dw_uc.Object.u_order_ml_woodcode[ll_row] = ls_woodcode
  774. dw_uc.Object.u_order_ml_pcode[ll_row] = ls_pcode
  775. dw_uc.Object.u_order_ml_status_mode[ll_row] = ls_status
  776. dw_uc.Object.u_sc_taskwork_relcode[ll_row] = ls_relcode
  777. dw_uc.Object.u_order_ml_billcode[ll_row] = ls_billcode
  778. //加入明细
  779. String ls_procode,ls_proname,ls_statusmx
  780. Decimal ld_proqty,ld_workprice,ld_sumqty
  781. long ll_proorder
  782. Long ll_mxrow
  783. Long ll_i
  784. IF arg_ifmod = 0 THEN
  785. dw_child.Reset()
  786. END IF
  787. dw_child.SetRedraw(FALSE)
  788. DECLARE cur_wp CURSOR FOR
  789. SELECT U_OrderRqwp.Procode,
  790. U_OrderRqwp.Proname,
  791. U_OrderRqwp.proqty,
  792. U_OrderRqwp.workprice,
  793. u_orderrqwp.status,
  794. u_orderrqwp.proorder
  795. FROM U_OrderRqwp
  796. WHERE ( U_OrderRqwp.scid = :arg_scid ) AND
  797. ( U_OrderRqwp.orderid = :arg_orderid )
  798. order by u_orderrqwp.proorder;
  799. OPEN cur_wp;
  800. FETCH cur_wp INTO :ls_procode,:ls_proname,:ld_proqty,:ld_workprice,:ls_statusmx,:ll_proorder;
  801. DO WHILE sqlca.SQLCode = 0
  802. ld_sumqty = 0
  803. FOR ll_i = 1 TO dw_child.RowCount()
  804. IF dw_child.Object.u_sc_taskworkmx_procode[ll_i] = ls_procode AND &
  805. dw_child.Object.u_sc_taskworkmx_proname[ll_i] = ls_proname THEN
  806. ld_sumqty = ld_sumqty + dw_child.Object.amount[ll_i]
  807. END IF
  808. NEXT
  809. IF ld_sumqty < ld_proqty THEN
  810. ll_mxrow = dw_child.InsertRow(0)
  811. dw_child.Object.u_sc_taskworkmx_procode[ll_mxrow] = ls_procode
  812. dw_child.Object.u_sc_taskworkmx_proname[ll_mxrow] = ls_proname
  813. dw_child.Object.u_sc_taskworkmx_status[ll_mxrow] = ls_statusmx
  814. dw_child.Object.u_sc_taskworkmx_proorder[ll_mxrow] = ll_proorder
  815. dw_child.Object.amount[ll_mxrow] = ld_proqty - ld_sumqty
  816. dw_child.Object.workprice[ll_mxrow] = ld_workprice
  817. END IF
  818. FETCH cur_wp INTO :ls_procode,:ls_proname,:ld_proqty,:ld_workprice,:ls_statusmx,:ll_proorder;
  819. LOOP
  820. IF dw_child.RowCount() = 0 THEN
  821. dw_child.InsertRow(0)
  822. END IF
  823. dw_child.SetRedraw(TRUE)
  824. ext:
  825. RETURN rslt
  826. end function
  827. public function integer wf_addproid_order (long arg_scid, long arg_orderid, long arg_printid);String ls_procode,procode[],ls_proname,proname[]
  828. Long ls_proid,proid[]
  829. Dec ls_workprice,workprice[],ls_workhour,workhour[]
  830. Long ll_proorder[]
  831. String ls_status[]
  832. Decimal lde_proqty[], lde_finishqty[], lde_notfqty[]
  833. Long count,i,ll_childrow
  834. count = 1
  835. dw_child.Reset( )
  836. DECLARE pf_cur CURSOR FOR
  837. SELECT
  838. U_OrderRqwp.Procode,
  839. U_OrderRqwp.Proname,
  840. U_OrderRqwp.Proorder,
  841. U_OrderRqwp.workprice,
  842. U_OrderRqwp.proqty,
  843. U_OrderRqwp.finishqty ,
  844. U_OrderRqwp.proqty - U_OrderRqwp.finishqty - isnull(uv_OrderRqwp_noauditingqty.qty, 0) as notfqty
  845. FROM U_OrderRqwp left outer join
  846. uv_OrderRqwp_noauditingqty on U_OrderRqwp.scid = uv_OrderRqwp_noauditingqty.scid
  847. and U_OrderRqwp.taskid = uv_OrderRqwp_noauditingqty.orderid
  848. and U_OrderRqwp.printid = uv_OrderRqwp_noauditingqty.printid
  849. and U_OrderRqwp.procode = uv_OrderRqwp_noauditingqty.procode
  850. WHERE ( U_OrderRqwp.scid = :arg_scid ) AND
  851. ( U_OrderRqwp.taskid = :arg_orderid ) AND
  852. ( U_OrderRqwp.printid = :arg_printid ) and
  853. U_OrderRqwp.proqty - U_OrderRqwp.finishqty - isnull(uv_OrderRqwp_noauditingqty.qty, 0) > 0;
  854. OPEN pf_cur;
  855. FETCH pf_cur INTO :procode[count],
  856. :proname[count],:ll_proorder[count],:workprice[count],
  857. :lde_proqty[count], :lde_finishqty[count], :lde_notfqty[count];
  858. DO WHILE sqlca.SQLCode = 0
  859. count++
  860. FETCH pf_cur INTO :procode[count],
  861. :proname[count],:ll_proorder[count],:workprice[count],
  862. :lde_proqty[count], :lde_finishqty[count], :lde_notfqty[count] ;
  863. LOOP
  864. count = count - 1
  865. CLOSE pf_cur;
  866. FOR i = 1 To count
  867. //dw_child.AcceptText()
  868. ll_childrow = dw_child.InsertRow(0)
  869. // IF lde_notfqty[i] > 0 THEN
  870. dw_child.Object.u_sc_taskworkmx_procode[ll_childrow] = procode[i]
  871. dw_child.Object.u_sc_taskworkmx_proname[ll_childrow] = proname[i]
  872. dw_child.Object.workprice[ll_childrow] = workprice[i]
  873. dw_child.Object.u_sc_taskworkmx_proorder[ll_childrow] = ll_proorder[i]
  874. dw_child.Object.amount[ll_childrow] = lde_notfqty[i]
  875. // END IF
  876. NEXT
  877. dw_child.SetFocus()
  878. dw_child.SetColumn('empcode')
  879. RETURN 1
  880. end function
  881. on w_sc_taskwork.create
  882. int iCurrent
  883. call super::create
  884. this.ddlb_status=create ddlb_status
  885. this.st_2=create st_2
  886. this.em_dftdate=create em_dftdate
  887. this.st_3=create st_3
  888. this.cb_affirm=create cb_affirm
  889. this.cb_cancel_affirm=create cb_cancel_affirm
  890. this.ddlb_scid=create ddlb_scid
  891. this.st_4=create st_4
  892. this.cbx_empcode=create cbx_empcode
  893. this.cbx_procode=create cbx_procode
  894. this.cbx_amount=create cbx_amount
  895. this.cbx_1=create cbx_1
  896. this.cbx_copy=create cbx_copy
  897. iCurrent=UpperBound(this.Control)
  898. this.Control[iCurrent+1]=this.ddlb_status
  899. this.Control[iCurrent+2]=this.st_2
  900. this.Control[iCurrent+3]=this.em_dftdate
  901. this.Control[iCurrent+4]=this.st_3
  902. this.Control[iCurrent+5]=this.cb_affirm
  903. this.Control[iCurrent+6]=this.cb_cancel_affirm
  904. this.Control[iCurrent+7]=this.ddlb_scid
  905. this.Control[iCurrent+8]=this.st_4
  906. this.Control[iCurrent+9]=this.cbx_empcode
  907. this.Control[iCurrent+10]=this.cbx_procode
  908. this.Control[iCurrent+11]=this.cbx_amount
  909. this.Control[iCurrent+12]=this.cbx_1
  910. this.Control[iCurrent+13]=this.cbx_copy
  911. end on
  912. on w_sc_taskwork.destroy
  913. call super::destroy
  914. destroy(this.ddlb_status)
  915. destroy(this.st_2)
  916. destroy(this.em_dftdate)
  917. destroy(this.st_3)
  918. destroy(this.cb_affirm)
  919. destroy(this.cb_cancel_affirm)
  920. destroy(this.ddlb_scid)
  921. destroy(this.st_4)
  922. destroy(this.cbx_empcode)
  923. destroy(this.cbx_procode)
  924. destroy(this.cbx_amount)
  925. destroy(this.cbx_1)
  926. destroy(this.cbx_copy)
  927. end on
  928. event retrieve_childdw;call super::retrieve_childdw;Long row,billid
  929. //dw_child.Reset()
  930. this.triggerevent('ue_dwchild_filter')
  931. row = dw_pageretr.GetRow()
  932. IF row > 0 THEN
  933. billid = dw_pageretr.Object.billid[row]
  934. dw_child.SetRedraw (FALSE)
  935. dw_child.Retrieve(billid,sys_option_taskwork_price_limit)
  936. dw_child.SetRedraw (TRUE)
  937. ELSE
  938. dw_child.Reset()
  939. END IF
  940. end event
  941. event open;call super::open;uc_column_int = 8 //uc dw前6列可以编辑
  942. child_column_int = 7 //子dw前7列可以编辑
  943. uo_taskwork_dq = CREATE uo_taskwork
  944. IF s_tran.g_long > 0 THEN // 1 - 编辑, 2 - 查询
  945. Long ll_scid,ll_orderid
  946. String arg_msg,ls_code
  947. IF IsNull(s_tran.d_string) THEN ls_code = ''
  948. ls_code = s_tran.d_string
  949. ll_scid = s_tran.e_long
  950. ll_orderid = s_tran.f_long
  951. IF Trim(ls_code) = '' THEN
  952. cb_add.TriggerEvent(Clicked!)
  953. IF ll_orderid > 0 THEN
  954. IF wf_autoadd(ll_scid,ll_orderid,0,arg_msg) = 0 THEN
  955. MessageBox('Error',arg_msg)
  956. RETURN
  957. END IF
  958. END IF
  959. ELSE
  960. ddlb_status.Text = '全部[-1]'
  961. cur_flag = -1
  962. cur_affirmflag = -1
  963. sle_usual_query.Text = Trim(ls_code)
  964. THIS.TRIGGEREVENT("ue_usual_query_RETR")
  965. IF s_tran.d_long = 1 THEN
  966. cb_edit.TriggerEvent(Clicked!)
  967. IF wf_autoadd(ll_scid,ll_orderid,1,arg_msg) = 0 THEN
  968. MessageBox('Error',arg_msg)
  969. RETURN
  970. END IF
  971. END IF
  972. END IF
  973. END IF
  974. end event
  975. event ue_usual_query_retr;call super::ue_usual_query_retr;String ls_querystrpart = ''
  976. ls_newselect = Lower(ori_oldselect)
  977. IF Trim(sle_usual_query.Text) <> '' THEN
  978. IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN
  979. ls_querystrpart = "(u_sc_taskwork.billcode like '%"+Trim(sle_usual_query.Text)+"%')"
  980. ELSE
  981. ls_querystrpart = "(u_sc_taskwork.billcode like '"+Trim(sle_usual_query.Text)+"')"
  982. END IF
  983. IF Pos(ls_newselect," where ") <> 0 THEN
  984. ls_newselect = ls_newselect+" AND ("+ls_querystrpart+')'
  985. ELSE
  986. ls_newselect = ls_newselect+" where ("+ls_querystrpart+')'
  987. END IF
  988. END IF
  989. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  990. This.TriggerEvent('retrieve_pageretr')
  991. end event
  992. event refresh_interface;call super::refresh_interface;ddlb_status.enabled=not dw_edit_mode
  993. cb_auditing_cancel.enabled=not dw_edit_mode
  994. ddlb_scid.enabled=not dw_edit_mode
  995. end event
  996. event close;call super::close;destroy uo_taskwork_dq
  997. end event
  998. event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled
  999. Boolean cb_func_enabled,cb_retrieve_enabled
  1000. cb_nextpage_enabled = cb_nextpage.Enabled
  1001. cb_retrieveall_enabled = cb_retrieveall.Enabled
  1002. cb_func_enabled = cb_func.Enabled
  1003. cb_nextpage.Enabled = FALSE
  1004. cb_retrieveall.Enabled = FALSE
  1005. cb_func.Enabled = FALSE
  1006. dw_uc.Retrieve()
  1007. dw_pageretr.Retrieve(cur_scid_arr,cur_flag,cur_affirmflag)
  1008. IF dw_pageretr.RowCount() > 0 THEN
  1009. dw_pageretr.SetRow(1)
  1010. dw_pageretr.TriggerEvent(RowFocusChanged!)
  1011. END IF
  1012. THIS.TriggerEvent('retrieve_childdw')
  1013. cb_nextpage.Enabled = cb_nextpage_enabled
  1014. cb_retrieveall.Enabled = cb_retrieveall_enabled
  1015. cb_func.Enabled = cb_func_enabled
  1016. end event
  1017. event ue_f8;call super::ue_f8;IF NOT dw_edit_mode THEN RETURN
  1018. Long child_row,ins_mtrlid = 0
  1019. s_empselect s_select
  1020. String tmp_empcode
  1021. child_row = dw_child.GetRow()
  1022. IF child_row <= 0 THEN RETURN
  1023. dw_child.SetRedraw(FALSE)
  1024. //s_edit_index_tran s_ch_tran //传递参数使用
  1025. //openwithparm(w_empinfo_select,s_ch_tran )
  1026. //dw_child.SetRedraw(true)
  1027. //return
  1028. tmp_empcode = Trim(dw_child.Object.empcode[dw_child.GetRow()])
  1029. IF NOT IsValid(w_empinfo_choice) THEN
  1030. OpenWithParm(w_empinfo_choice,tmp_empcode)
  1031. s_select = Message.PowerObjectParm //接受返回结构
  1032. IF s_select.empid > 0 THEN
  1033. dw_child.Object.empid[dw_child.GetRow()] = s_select.empid
  1034. dw_child.Object.empcode[dw_child.GetRow()] = s_select.empcode
  1035. dw_child.Object.empname[dw_child.GetRow()] = s_select.empname
  1036. IF if_empcode = 0 THEN
  1037. dw_child.SetColumn('u_sc_taskworkmx_procode')
  1038. ELSE
  1039. IF dw_child.GetRow() = dw_child.RowCount() THEN
  1040. this.TriggerEvent("insert_childrow")
  1041. ELSE
  1042. dw_child.ScrollToRow(dw_child.GetRow() + 1)
  1043. END IF
  1044. dw_child.SetColumn('empcode')
  1045. END IF
  1046. END IF
  1047. END IF
  1048. dw_child.SetRedraw(TRUE)
  1049. dw_child.SetFocus()
  1050. end event
  1051. event ue_addzy;call super::ue_addzy;IF NOT f_power_ind(1330) THEN
  1052. MessageBox(publ_operator,'你没有使用权限!')
  1053. RETURN
  1054. END IF
  1055. IF dw_edit_mode THEN RETURN
  1056. String arg_msg = ''
  1057. String ls_str
  1058. Long uc_row
  1059. s_inputbox s_sreu
  1060. uc_row = dw_pageretr.GetRow()
  1061. IF uc_row <= 0 THEN
  1062. MessageBox('系统提示','请选定当前目标单据!')
  1063. RETURN
  1064. END IF
  1065. s_sreu.Title = '请输入要补充到备注的内容'
  1066. s_sreu.old_text = ''
  1067. OpenWithParm(w_inputbox,s_sreu)
  1068. ls_str = Message.StringParm
  1069. IF Trim(ls_str) = '' OR IsNull(ls_str) THEN RETURN
  1070. IF uo_taskwork_dq.add_dscrp(dw_pageretr.Object.billid[uc_row],ls_str,arg_msg) = 0 THEN
  1071. MessageBox('error!',arg_msg)
  1072. RETURN
  1073. ELSE
  1074. MessageBox(publ_operator,'添加备注操作成功!')
  1075. wf_refresh_curuc(dw_pageretr.object.u_sc_taskwork_scid[uc_row],dw_pageretr.Object.billid[uc_row])
  1076. END IF
  1077. end event
  1078. event ue_f11;call super::ue_f11;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用
  1079. Long child_row
  1080. Long ls_null
  1081. IF NOT dw_edit_mode THEN RETURN
  1082. child_row = dw_child.GetRow()
  1083. s_edit_index_tran s_ch_tran
  1084. s_ch_tran.if_retrieve_all = TRUE
  1085. s_ch_tran.work_mode = 1
  1086. s_ch_tran.arg_pkid = 0
  1087. s_ch_tran.b_long = 0
  1088. s_ch_tran.if_select_all = TRUE
  1089. IF child_row > 0 THEN s_ch_tran.arg_string_code = dw_child.Object.u_sc_taskworkmx_procode[child_row]
  1090. Long ls_j
  1091. IF NOT IsValid(w_sc_workprocedure_response) THEN
  1092. OpenWithParm(w_sc_workprocedure_response,s_ch_tran) //调用
  1093. s_workprocedure S_INSCUST
  1094. S_INSCUST = Message.PowerObjectParm //接受返回结构
  1095. FOR ls_j = 1 TO UpperBound(S_INSCUST.wrkproid)
  1096. IF S_INSCUST.wrkproid[ls_j] > 0 THEN //正常返回值则可以取以下值
  1097. IF dw_child.Find('u_sc_taskworkmx_proorder='+String(S_INSCUST.wrkproid[ls_j]),1,dw_child.RowCount()) = 0 THEN
  1098. IF dw_child.GetRow() > 0 THEN
  1099. IF dw_child.Object.u_sc_taskworkmx_proorder[child_row] <> 0 THEN
  1100. child_row = dw_child.InsertRow (0)
  1101. ELSE
  1102. child_row = dw_child.GetRow()
  1103. END IF
  1104. ELSE
  1105. child_row = dw_child.InsertRow (0)
  1106. END IF
  1107. END IF
  1108. dw_child.Object.u_sc_taskworkmx_proorder[child_row] = S_INSCUST.wrkproid[ls_j]
  1109. dw_child.Object.u_sc_taskworkmx_procode[child_row] = S_INSCUST.wrkprocode[ls_j]
  1110. dw_child.Object.u_sc_taskworkmx_proname[child_row] = S_INSCUST.wrkproname[ls_j]
  1111. dw_child.Object.workhour[child_row] = S_INSCUST.workhour[ls_j]
  1112. dw_child.Object.workprice[child_row] = S_INSCUST.workprice[ls_j]
  1113. END IF
  1114. NEXT
  1115. dw_child.SetRow(child_row)
  1116. dw_child.ScrollToRow(child_row)
  1117. dw_child.SetFocus()
  1118. IF UpperBound(S_INSCUST.wrkproid) > 0 THEN
  1119. dw_child.SetColumn("amount")
  1120. END IF
  1121. END IF
  1122. dw_child.SetRedraw(TRUE)
  1123. dw_child.SetFocus()
  1124. end event
  1125. event ue_f12;call super::ue_f12;Long child_row,uc_row
  1126. Long ls_j
  1127. Long ll_empid
  1128. String ls_empcode,ls_empname
  1129. dw_child.AcceptText()
  1130. dw_uc.AcceptText()
  1131. uc_row = dw_uc.GetRow()
  1132. IF uc_row <= 0 THEN
  1133. MessageBox('系统提示','请选择单据!')
  1134. RETURN
  1135. END IF
  1136. child_row = dw_child.GetRow()
  1137. IF child_row <= 0 THEN
  1138. MessageBox('系统提示','当前没有记录!')
  1139. RETURN
  1140. END IF
  1141. ll_empid = dw_child.Object.empid[child_row]
  1142. ls_empcode = dw_child.Object.empcode[child_row]
  1143. ls_empname = dw_child.Object.empname[child_row]
  1144. IF dw_uc.Object.u_sc_taskwork_orderid[uc_row] = 0 THEN
  1145. MessageBox('系统提示','当前没有选择销售订单!')
  1146. RETURN
  1147. END IF
  1148. IF NOT IsValid(w_order_ml_pro_ch) THEN
  1149. s_saletaskmx s_select_open
  1150. s_select_open.if_select_any = 1 //可以多选
  1151. IF dw_uc.Object.billid[uc_row] = 0 THEN
  1152. s_select_open.scid = cur_scid
  1153. ELSE
  1154. s_select_open.scid = dw_uc.Object.u_sc_taskwork_scid[uc_row]
  1155. END IF
  1156. s_select_open.taskid = dw_uc.Object.u_sc_taskwork_orderid[uc_row]
  1157. s_select_open.printid = dw_uc.Object.u_sc_taskwork_relid[uc_row]
  1158. OpenWithParm(w_order_ml_pro_ch,s_select_open)
  1159. s_order_ml_workprice_array s_inscust
  1160. s_inscust = Message.PowerObjectParm
  1161. IF UpperBound(s_inscust.procode) = 1 THEN //单选时,替换原有的工序
  1162. IF IsNull(s_inscust.procode[1]) OR s_inscust.procode[1] = '' THEN RETURN
  1163. dw_child.SetRedraw(FALSE)
  1164. dw_child.Object.u_sc_taskworkmx_procode[child_row] = s_inscust.procode[1]
  1165. dw_child.Object.u_sc_taskworkmx_proname[child_row] = s_inscust.proname[1]
  1166. dw_child.Object.workprice[child_row] = s_inscust.workprice[1]
  1167. dw_child.Object.u_sc_taskworkmx_proorder[child_row] = s_inscust.proorder[1]
  1168. dw_child.Object.u_sc_taskworkmx_status[child_row] = s_inscust.status[1]
  1169. dw_child.SetRedraw(TRUE)
  1170. ELSE
  1171. dw_child.SetRedraw(FALSE)
  1172. FOR ls_j = 1 TO UpperBound(s_inscust.procode)
  1173. IF IsNull(s_inscust.procode[ls_j]) OR s_inscust.procode[ls_j] = '' THEN CONTINUE
  1174. IF dw_child.GetRow() > 0 THEN
  1175. IF dw_child.Object.u_sc_taskworkmx_procode[child_row] <> '' THEN
  1176. child_row = dw_child.InsertRow (0)
  1177. ELSE
  1178. child_row = dw_child.GetRow()
  1179. END IF
  1180. ELSE
  1181. child_row = dw_child.InsertRow (0)
  1182. END IF
  1183. dw_child.Object.u_sc_taskworkmx_procode[child_row] = s_inscust.procode[ls_j]
  1184. dw_child.Object.u_sc_taskworkmx_proname[child_row] = s_inscust.proname[ls_j]
  1185. dw_child.Object.workprice[child_row] = s_inscust.workprice[ls_j]
  1186. dw_child.Object.u_sc_taskworkmx_status[child_row] = s_inscust.status[ls_j]
  1187. dw_child.Object.u_sc_taskworkmx_proorder[child_row] = s_inscust.proorder[ls_j]
  1188. dw_child.Object.empid[child_row] = ll_empid
  1189. dw_child.Object.empcode[child_row] = ls_empcode
  1190. dw_child.Object.empname[child_row] = ls_empname
  1191. NEXT
  1192. dw_child.SetRedraw(TRUE)
  1193. END IF
  1194. IF if_procode = 0 THEN
  1195. dw_child.SetColumn('amount')
  1196. ELSE
  1197. IF dw_child.GetRow() = dw_child.RowCount() THEN
  1198. THIS.TriggerEvent("insert_childrow")
  1199. ELSE
  1200. dw_child.ScrollToRow(dw_child.GetRow() + 1)
  1201. END IF
  1202. dw_child.SetColumn('u_sc_taskworkmx_procode')
  1203. END IF
  1204. END IF
  1205. end event
  1206. event ue_viewprint;call super::ue_viewprint;
  1207. IF NOT f_power_ind(1331) THEN
  1208. MessageBox('提示','你没有使用权限!',information!,OK!)
  1209. RETURN
  1210. END IF
  1211. Long LS_ROW
  1212. LS_ROW = dw_pageretr.GetRow()
  1213. IF LS_ROW <= 0 THEN
  1214. MessageBox('NO','没有打印目标单据!')
  1215. RETURN
  1216. END IF
  1217. S_print_MSG LS_PRMSG
  1218. IF ls_newname <> '' THEN
  1219. IF li_auditprint = 1 THEN
  1220. IF dw_pageretr.Object.u_sc_taskwork_affirmflag[dw_pageretr.GetRow()] = 0 THEN
  1221. MessageBox('NO','目标单据还未审核,不能打印!')
  1222. RETURN
  1223. END IF
  1224. END IF
  1225. LS_PRMSG.obj_dwNAME = ls_newname
  1226. ELSE
  1227. IF Not f_power_ind(1331) THEN
  1228. MessageBox(publ_operator,'你没有使用权限!')
  1229. RETURN
  1230. END IF
  1231. LS_PRMSG.obj_dwNAME = 'dw_rp_sc_taskwork_print'
  1232. END IF
  1233. if LS_PRMSG.obj_dwNAME = '' then return
  1234. ls_prmsg.printrow = ll_prownum
  1235. LS_PRMSG.TAG_TEXT = '产品个人计件单'
  1236. LS_PRMSG.FILTER_STRING = ''
  1237. LS_PRMSG.retr_pram_falg = 15
  1238. LS_PRMSG.PAGECH_FLAG = 0
  1239. LS_PRMSG.retr_scid = dw_pageretr.Object.u_sc_taskwork_scid[LS_ROW]
  1240. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[LS_ROW]
  1241. LS_PRMSG.rowcnt = dw_child.RowCount()
  1242. OpenWithParm(w_publ_preview,LS_PRMSG)
  1243. //**更新打印次料
  1244. String arg_msg
  1245. printnum = Message.DoubleParm
  1246. f_update_printnum('u_sc_taskwork',printnum,dw_pageretr.Object.u_sc_taskwork_scid[LS_ROW],dw_pageretr.Object.billid[LS_ROW],'','',arg_msg,True)
  1247. end event
  1248. event ue_print;call super::ue_print;//--直接打印
  1249. IF NOT f_power_ind(1331) THEN
  1250. MessageBox('提示','你没有使用权限!',information!,OK!)
  1251. RETURN
  1252. END IF
  1253. uo_print_preview uo_print
  1254. IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1255. S_print_MSG LS_PRMSG
  1256. Long LS_ROW
  1257. LS_ROW = dw_pageretr.GetRow()
  1258. IF LS_ROW <= 0 THEN
  1259. MessageBox('NO','没有打印目标单据!')
  1260. RETURN
  1261. END IF
  1262. IF ls_newname <> '' THEN
  1263. IF li_auditprint = 1 THEN
  1264. IF dw_pageretr.Object.u_sc_taskwork_affirmflag[dw_pageretr.GetRow()] = 0 THEN
  1265. MessageBox('NO','目标单据还未确认,不能打印!')
  1266. RETURN
  1267. END IF
  1268. END IF
  1269. LS_PRMSG.obj_dwNAME = ls_newname
  1270. ELSE
  1271. IF NOT f_power_ind(1331) THEN
  1272. MessageBox(publ_operator,'你没有使用权限!')
  1273. RETURN
  1274. END IF
  1275. LS_PRMSG.obj_dwNAME = 'dw_rp_sc_taskwork_print'
  1276. END IF
  1277. if LS_PRMSG.obj_dwNAME = '' then return
  1278. LS_PRMSG.retr_pram_falg = 15
  1279. LS_PRMSG.printrow = ll_prownum
  1280. LS_PRMSG.TAG_TEXT = '产品个人计件单'
  1281. LS_PRMSG.FILTER_STRING = ''
  1282. LS_PRMSG.PAGECH_FLAG = 0
  1283. LS_PRMSG.retr_scid = dw_pageretr.Object.u_sc_taskwork_scid[LS_ROW]
  1284. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[LS_ROW]
  1285. LS_PRMSG.rowcnt = dw_child.RowCount()
  1286. uo_print.FACT_PRINT_MSG = LS_PRMSG
  1287. String arg_msg
  1288. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  1289. MessageBox("系统提示",arg_msg)
  1290. RETURN
  1291. END IF
  1292. uo_print.ds_print()
  1293. //**更新打印次料
  1294. f_update_printnum('u_saletask',1,cur_scid,dw_pageretr.Object.billid[dw_pageretr.GetRow()],'','',arg_msg,True)
  1295. end event
  1296. event ue_rpt_print;call super::ue_rpt_print;Long row,uc_relid,ll_scid
  1297. row = dw_pageretr.GetRow()
  1298. IF row = 0 THEN RETURN
  1299. uo_rpt_print_preview uo_print
  1300. S_rpt_print_MSG LS_PRMSG
  1301. IF dw_pageretr.RowCount() = 0 THEN
  1302. MessageBox('系统信息','没有可打印的单据!')
  1303. RETURN
  1304. END IF
  1305. IF ls_rpname = '' THEN RETURN
  1306. IF li_auditprint = 1 THEN
  1307. IF dw_pageretr.Object.u_sc_taskwork_affirmflag[row] = 0 THEN
  1308. MessageBox('NO','目标单据还未确认,不能打印!')
  1309. RETURN
  1310. END IF
  1311. END IF
  1312. IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1313. LS_PRMSG.retr_pram_falg = 15
  1314. LS_PRMSG.TAG_TEXT = THIS.Title
  1315. LS_PRMSG.rpname = ls_rpname
  1316. LS_PRMSG.FILTER_STRING = ''
  1317. LS_PRMSG.PAGECH_FLAG = 0
  1318. LS_PRMSG.rpid = ls_msgprintid_rpt
  1319. LS_PRMSG.retr_scid = dw_pageretr.Object.u_sc_taskwork_scid[row]
  1320. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.billid[row]
  1321. LS_PRMSG.rowcnt = dw_child.RowCount()
  1322. uo_print.FACT_PRINT_MSG = LS_PRMSG
  1323. String arg_msg
  1324. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  1325. MessageBox("系统提示",arg_msg)
  1326. RETURN
  1327. END IF
  1328. uo_print.ds_print()
  1329. end event
  1330. event ue_rpt_viewprint;call super::ue_rpt_viewprint;
  1331. Long row,uc_relid,ll_scid
  1332. row = dw_pageretr.GetRow()
  1333. IF row = 0 THEN RETURN
  1334. IF ls_rpname = '' THEN RETURN
  1335. IF li_auditprint = 1 THEN
  1336. IF dw_pageretr.Object.u_sc_taskwork_affirmflag[row] = 0 THEN
  1337. MessageBox('NO','目标单据还未审核,不能打印!')
  1338. RETURN
  1339. END IF
  1340. END IF
  1341. s_rpt_print_msg s_print
  1342. s_print.retr_pram_falg = 15
  1343. s_print.rpid = ls_msgprintid_rpt
  1344. s_print.retr_flag = TRUE
  1345. s_print.tag_text = THIS.Title
  1346. s_print.rpname = ls_rpname
  1347. s_print.retr_scid = dw_pageretr.Object.u_sc_taskwork_scid[row]
  1348. s_print.retr_pramnmb = dw_pageretr.Object.billid[row]
  1349. s_print.rowcnt = dw_child.RowCount()
  1350. OpenWithParm(w_rpt_preview,s_print)
  1351. end event
  1352. event ue_f7;call super::ue_f7;IF NOT dw_edit_mode THEN RETURN
  1353. Long uc_row,ls_j
  1354. s_edit_index_tran s_open //传递参数使用
  1355. s_saletask_mtrl s_inscust
  1356. uc_row = dw_uc.GetRow()
  1357. IF uc_row = 0 THEN
  1358. MessageBox('系统提示','请选定单据!')
  1359. RETURN
  1360. END IF
  1361. dw_uc.AcceptText()
  1362. s_open.if_select_any = FALSE
  1363. s_open.b_string = Trim(dw_uc.Object.u_mtrldef_mtrlcode[uc_row])
  1364. IF cur_scid < 0 THEN
  1365. s_open.d_long = dw_uc.Object.u_sc_taskwork_scid[uc_row]
  1366. ELSE
  1367. s_open.d_long = cur_scid
  1368. END IF
  1369. ////工业版 或 不限订单 //两个选择窗口基本一样,不明白为什么要分开??
  1370. //IF sys_version_type = 0 OR sys_option_taskwork_procode_order = 0 THEN
  1371. // //选订单,带工价表工序
  1372. // IF NOT IsValid(w_order_ml_mx_mtrl_ch2) THEN
  1373. // OpenWithParm(w_order_ml_mx_mtrl_ch2,s_open)
  1374. // ELSE
  1375. // RETURN
  1376. // END IF
  1377. //
  1378. //ELSE
  1379. // //选订单,带订单工序
  1380. IF NOT IsValid(w_order_ml_mx_mtrl_ch) THEN
  1381. OpenWithParm(w_order_ml_mx_mtrl_ch,s_open)
  1382. ELSE
  1383. RETURN
  1384. END IF
  1385. //END IF
  1386. s_inscust = Message.PowerObjectParm //接受返回结构
  1387. dw_uc.SetRedraw(FALSE)
  1388. FOR ls_j = 1 TO UpperBound(s_inscust.taskid)
  1389. IF s_inscust.taskid[ls_j] > 0 THEN //正常返回值则可以取以下值
  1390. dw_uc.Object.u_sc_taskwork_orderid[uc_row] = s_inscust.taskid[ls_j]
  1391. dw_uc.Object.u_saletask_taskcode[uc_row] = s_inscust.taskcode[ls_j]
  1392. dw_uc.Object.mtrlid[uc_row] = s_inscust.mtrlid[ls_j]
  1393. dw_uc.Object.u_mtrldef_mtrlcode[uc_row] = s_inscust.mtrlcode[ls_j]
  1394. dw_uc.Object.u_mtrldef_mtrlname[uc_row] = s_inscust.mtrlname[ls_j]
  1395. dw_uc.Object.u_mtrldef_unit[uc_row] = s_inscust.unit[ls_j]
  1396. dw_uc.Object.u_saletaskmx_orderqty[uc_row] = s_inscust.orderqty[ls_j]
  1397. dw_uc.Object.u_saletaskmx_woodcode[uc_row] = s_inscust.woodcode[ls_j]
  1398. dw_uc.Object.u_saletaskmx_pcode[uc_row] = s_inscust.pcode[ls_j]
  1399. dw_uc.Object.u_saletaskmx_status[uc_row] = s_inscust.status[ls_j]
  1400. dw_uc.Object.u_sc_taskwork_relid[uc_row] = s_inscust.printid[ls_j]
  1401. dw_uc.Object.u_saletaskmx_plancode[uc_row] = s_inscust.plancode[ls_j]
  1402. lds_orderqty = dw_uc.Object.u_saletaskmx_orderqty[uc_row]
  1403. dw_uc.Object.u_sc_taskwork_relcode[uc_row] = s_inscust.relcode[ls_j]
  1404. IF if_autopro = 1 THEN//自动列工序
  1405. //工业版 或 不限订单
  1406. IF sys_version_type = 0 OR sys_option_taskwork_procode_order = 0 THEN
  1407. wf_addproid(s_inscust.mtrlid[ls_j])
  1408. ELSE
  1409. wf_addproid_order(s_open.d_long,s_inscust.taskid[ls_j],s_inscust.printid[ls_j])
  1410. END IF
  1411. END IF
  1412. EXIT//只选第一条
  1413. END IF
  1414. NEXT
  1415. dw_uc.SetRedraw(TRUE)
  1416. dw_uc.SetFocus()
  1417. dw_uc.SetColumn('wageid')
  1418. end event
  1419. event ue_f9;call super::ue_f9;//用于选择明细内容,被F10[默认]\dw_uc.doubleclicked调用
  1420. IF sys_option_task_noorder <> 1 THEN RETURN
  1421. IF NOT dw_edit_mode THEN RETURN
  1422. Long child_row
  1423. child_row = dw_uc.GetRow()
  1424. IF NOT IsValid(w_mtrldef_edit) THEN
  1425. s_edit_index_tran s_tranf8 //传递参数使用
  1426. s_tranf8.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  1427. s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  1428. s_tranf8.arg_pkid = 0 //目标定位PKID (备用)
  1429. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  1430. s_tranf8.if_select_all = false //多选
  1431. s_tranf8.b_long = 0
  1432. s_tranf8.f_long = 0
  1433. s_tranf8.c_long = -1
  1434. Long chc = 1,ls_j
  1435. IF dw_uc.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_uc.Object.u_mtrldef_mtrlcode[dw_uc.GetRow()])
  1436. OpenWithParm(w_mtrldef_edit,s_tranf8) //调用
  1437. s_mtrldef_array S_INSCUST
  1438. S_INSCUST = Message.PowerObjectParm //接受返回结构
  1439. FOR ls_j = 1 TO UpperBound(S_INSCUST.mtrlid)
  1440. IF S_INSCUST.mtrlid[ls_j] > 0 THEN //正常返回值则可以取以下值
  1441. dw_uc.Object.mtrlid[child_row] = S_INSCUST.mtrlid[ls_j]
  1442. dw_uc.Object.u_mtrldef_mtrlcode [child_row] = S_INSCUST.mtrlcode[ls_j]
  1443. dw_uc.Object.u_mtrldef_mtrlname[child_row] = S_INSCUST.mtrlname[ls_j]
  1444. dw_uc.Object.u_mtrldef_mtrlmode[child_row] = S_INSCUST.mtrlmode[ls_j]
  1445. dw_uc.Object.u_mtrldef_unit[child_row] = S_INSCUST.unit[ls_j]
  1446. dw_uc.Object.u_saletask_taskcode[child_row] = ''
  1447. dw_uc.Object.u_sc_taskwork_orderid[child_row] = 0
  1448. IF if_autopro = 1 THEN
  1449. wf_addproid(s_inscust.mtrlid[ls_j])
  1450. END IF
  1451. END IF
  1452. NEXT
  1453. dw_uc.SetFocus()
  1454. dw_uc.SetColumn("billdate")
  1455. END IF
  1456. end event
  1457. event ue_copyrow;IF NOT dw_edit_mode THEN RETURN
  1458. Long ll_childrow
  1459. ll_childrow = dw_child.GetRow()
  1460. IF ll_childrow = 0 THEN
  1461. MessageBox('NO','请选择复制对象!')
  1462. RETURN
  1463. END IF
  1464. Long ll_i
  1465. Long ll_j
  1466. ll_j = 0
  1467. FOR ll_i = 1 TO dw_child.RowCount()
  1468. IF dw_child.IsSelected(ll_i) THEN
  1469. IF if_copyqty = 1 THEN
  1470. dw_child.Object.amount[ll_i] = dw_child.Object.amount[ll_i] / 2
  1471. dw_child.Object.workhour[ll_i] = dw_child.Object.workhour[ll_i] / 2
  1472. END IF
  1473. ll_j++
  1474. dw_child.RowsCopy (ll_i,ll_i,Primary!,ds_copypaste,ll_j,Primary!)
  1475. END IF
  1476. NEXT
  1477. //dw_child.RowsCopy (ll_childrow,ll_childrow,Primary!,ds_copypaste,1,Primary!)
  1478. FOR ll_i = 1 TO ds_copypaste.RowCount()
  1479. ds_copypaste.RowsCopy (ll_i,ll_i,Primary!,dw_child,ll_childrow + ll_i,Primary!)
  1480. NEXT
  1481. //ds_copypaste.RowsCopy (1,1,Primary!,dw_child,ll_childrow + 1,Primary!)
  1482. ds_copypaste.Reset()
  1483. dw_child.SelectRow(0,FALSE)
  1484. dw_child.SetRow(ll_childrow + 1)
  1485. dw_child.ScrollToRow(ll_childrow + 1)
  1486. dw_child.SelectRow(ll_childrow + 1,TRUE)
  1487. end event
  1488. event user_key;IF KeyDown(KeyF6!) THEN
  1489. THIS.TriggerEvent('ue_f6')
  1490. ELSEIF KeyDown(KeyF1!) THEN
  1491. THIS.TriggerEvent('ue_help')
  1492. ELSEIF KeyDown(KeyF2!) THEN
  1493. IF NOT dw_edit_mode THEN
  1494. THIS.TriggerEvent('ue_modify')
  1495. END IF
  1496. ELSEIF KeyDown(KeyF7!) THEN
  1497. THIS.TriggerEvent('ue_f7')
  1498. ELSEIF KeyDown(KeyF9!) THEN
  1499. THIS.TriggerEvent('ue_f9')
  1500. ELSEIF KeyDown(KeyF10!) THEN
  1501. THIS.TriggerEvent('ue_f10')
  1502. ELSEIF KeyDown(KeyF11!) THEN
  1503. THIS.TriggerEvent('ue_f11')
  1504. ELSEIF KeyDown(KeyF12!) THEN
  1505. THIS.TriggerEvent('ue_f12')
  1506. //ELSEIF KeyDown(KeyShift!) AND KeyDown(KeyLeftArrow!) THEN
  1507. // THIS.TriggerEvent('ue_copyrow')
  1508. ELSEIF KeyDown(KeyShift!) AND KeyDown(KeyUpArrow!) THEN
  1509. THIS.TriggerEvent('ue_insertmx')
  1510. ELSEIF KeyDown(KeyShift!) AND KeyDown(KeyDownArrow!) THEN
  1511. THIS.TriggerEvent('ue_addmx')
  1512. ELSEIF KeyDown(KeyShift!) AND KeyDown(KeyRightArrow!) THEN
  1513. THIS.TriggerEvent('ue_deletemx')
  1514. ELSEIF KeyDown(KeyControl!) AND KeyDown(KeyA!) THEN
  1515. THIS.TriggerEvent('ue_copyrow_pro')
  1516. ELSEIF KeyDown(KeyControl!) AND KeyDown(KeyS!) THEN
  1517. THIS.TriggerEvent('ue_copyrow_emp')
  1518. ELSEIF KeyDown(KeyControl!) AND KeyDown(KeyD!) THEN
  1519. THIS.TriggerEvent('ue_copyrow')
  1520. END IF
  1521. end event
  1522. event resize;ln_bar.EndX = THIS.Width
  1523. ln_bar2.EndX = THIS.Width
  1524. ln_1.EndX = THIS.Width
  1525. ln_2.EndX = THIS.Width
  1526. r_bar.Width = THIS.Width
  1527. Long w_width,w_height
  1528. w_width = 3602
  1529. w_height = 2300
  1530. IF newwidth < w_width THEN THIS.Width = w_width
  1531. IF newheight < w_height THEN THIS.Height = w_height
  1532. //dw_child.Width = THIS.Width - (w_width - dw_child_w)
  1533. //dw_child.Height = THIS.Height - (w_height - dw_child_h)
  1534. //dw_pageretr.Width = THIS.Width - (w_width - dw_pageretr_w)
  1535. //==============================================================================
  1536. //YYX081007
  1537. //==============================================================================
  1538. IF uc_width > 0 THEN
  1539. dw_uc.Width = uc_width
  1540. END IF
  1541. IF uc_height > 0 THEN
  1542. dw_uc.Height = uc_height
  1543. END IF
  1544. dw_pageretr.X = dw_uc.X + dw_uc.Width
  1545. dw_pageretr.Width = THIS.Width - dw_pageretr.X - 40
  1546. dw_pageretr.Height = dw_uc.Height
  1547. dw_child.Y = dw_uc.Y + dw_uc.Height + 88
  1548. dw_child.Width = THIS.Width - dw_child.X - 40
  1549. dw_child.Height = THIS.Height - dw_child.Y - 150
  1550. cbx_empcode.y = dw_child.Y - 76
  1551. cbx_procode.y = cbx_empcode.y
  1552. cbx_amount.y = cbx_empcode.y
  1553. this.triggerevent('resize_p')
  1554. end event
  1555. event ue_before_open;call super::ue_before_open;IF sys_option_task_noorder = 0 THEN
  1556. dw_uc.object.t_mtrl.visible = false
  1557. dw_uc.object.p_1.visible = false
  1558. end if
  1559. end event
  1560. event ue_usual_query_filt;call super::ue_usual_query_filt;String obj_expr = ''
  1561. IF Trim(sle_usual_query.Text) <> '' THEN
  1562. IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN
  1563. obj_expr = obj_expr+'( billcode like "%'+Trim(sle_usual_query.Text)+'%" )'
  1564. ELSE
  1565. obj_expr = obj_expr+'( billcode like "'+Trim(sle_usual_query.Text)+'" )'
  1566. END IF
  1567. END IF
  1568. dw_pageretr.SetFilter(obj_expr)
  1569. dw_pageretr.SetRedraw(False)
  1570. dw_pageretr.Filter()
  1571. IF dw_pageretr.RowCount() >= 1 THEN
  1572. dw_pageretr.SelectRow(0,False)
  1573. dw_pageretr.SelectRow(1,True)
  1574. END IF
  1575. dw_pageretr.SetRedraw(True)
  1576. end event
  1577. event ue_f6;call super::ue_f6;IF Not dw_edit_mode THEN RETURN
  1578. Long child_row,ls_j,uc_row
  1579. s_edit_index_tran s_open //传递参数使用
  1580. s_saletask_mtrl_pro s_inscust
  1581. child_row = dw_child.GetRow()
  1582. uc_row = dw_uc.GetRow()
  1583. IF uc_row <= 0 THEN RETURN
  1584. s_open.if_select_any = True
  1585. s_open.b_string = ''
  1586. IF cur_scid < 0 THEN
  1587. s_open.d_long = dw_uc.Object.scid[uc_row]
  1588. ELSE
  1589. s_open.d_long = cur_scid
  1590. END IF
  1591. s_open.c_long = 1
  1592. s_open.b_long = 1
  1593. //选订单,带订单工序
  1594. IF Not IsValid(w_order_ml_mx_mtrl_ch_gz) THEN
  1595. OpenWithParm(w_order_ml_mx_mtrl_ch_gz,s_open)
  1596. END IF
  1597. s_inscust = Message.PowerObjectParm //接受返回结构
  1598. dw_child.SetRedraw(False)
  1599. FOR ls_j = 1 To UpperBound(s_inscust.taskid)
  1600. IF s_inscust.taskid[ls_j] > 0 THEN //正常返回值则可以取以下值
  1601. dw_uc.Object.u_sc_taskwork_orderid[uc_row] = s_inscust.taskid[ls_j]
  1602. dw_uc.Object.u_saletask_taskcode[uc_row] = s_inscust.taskcode[ls_j]
  1603. dw_uc.Object.mtrlid[uc_row] = s_inscust.mtrlid[ls_j]
  1604. dw_uc.Object.u_mtrldef_mtrlcode[uc_row] = s_inscust.mtrlcode[ls_j]
  1605. dw_uc.Object.u_mtrldef_mtrlname[uc_row] = s_inscust.mtrlname[ls_j]
  1606. dw_uc.Object.u_mtrldef_unit[uc_row] = s_inscust.unit[ls_j]
  1607. dw_uc.Object.u_saletaskmx_orderqty[uc_row] = s_inscust.orderqty[ls_j]
  1608. dw_uc.Object.u_saletaskmx_woodcode[uc_row] = s_inscust.woodcode[ls_j]
  1609. dw_uc.Object.u_saletaskmx_pcode[uc_row] = s_inscust.pcode[ls_j]
  1610. dw_uc.Object.u_saletaskmx_status[uc_row] = s_inscust.status[ls_j]
  1611. dw_uc.Object.u_sc_taskwork_relid[uc_row] = s_inscust.printid[ls_j]
  1612. dw_uc.Object.u_sc_taskwork_relcode[uc_row] = s_inscust.relcode[ls_j]
  1613. IF dw_child.GetRow() > 0 THEN
  1614. IF dw_child.Object.u_sc_taskworkmx_procode[child_row] <> '' THEN
  1615. child_row = dw_child.InsertRow (0)
  1616. ELSE
  1617. child_row = dw_child.GetRow()
  1618. END IF
  1619. ELSE
  1620. child_row = dw_child.InsertRow (0)
  1621. END IF
  1622. dw_child.Object.u_sc_taskworkmx_procode[child_row] = s_inscust.procode[ls_j]
  1623. dw_child.Object.u_sc_taskworkmx_proname[child_row] = s_inscust.proname[ls_j]
  1624. dw_child.Object.workprice[child_row] = s_inscust.workprice[ls_j]
  1625. dw_child.Object.u_sc_taskworkmx_proorder[child_row] = s_inscust.proorder[ls_j]
  1626. dw_child.Object.amount[child_row] = s_inscust.proqty[ls_j]
  1627. END IF
  1628. NEXT
  1629. dw_child.SetFocus()
  1630. dw_child.SetColumn('amount')
  1631. dw_child.SetRedraw(True)
  1632. end event
  1633. type cb_func from w_publ_1ton_share_detail`cb_func within w_sc_taskwork
  1634. integer x = 146
  1635. end type
  1636. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_sc_taskwork
  1637. integer x = 2615
  1638. integer width = 155
  1639. end type
  1640. event cb_exit::clicked;call super::clicked;//if not dw_edit_mode then return
  1641. //long arg_mtrlid
  1642. ////IF MessageBox ("IF","是否确定要自动增加当前工序吗?",Question!,YesNo! ) = 2 THEN RETURN
  1643. //dw_uc.accepttext()
  1644. //arg_mtrlid = dw_uc.object.mtrlid[dw_uc.getrow()]
  1645. //wf_addproid(arg_mtrlid)
  1646. //dw_child.setfocus()
  1647. //dw_child.setcolumn('empcode')
  1648. end event
  1649. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_sc_taskwork
  1650. integer x = 197
  1651. integer width = 521
  1652. end type
  1653. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_sc_taskwork
  1654. integer x = 3109
  1655. end type
  1656. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_sc_taskwork
  1657. integer x = 2807
  1658. integer height = 84
  1659. end type
  1660. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_sc_taskwork
  1661. integer x = 1614
  1662. integer width = 1929
  1663. integer height = 1324
  1664. string dataobject = "dw_sc_taskwork_index"
  1665. end type
  1666. event dw_pageretr::constructor;call super::constructor; titleclick_sort_use=true //单击标题排序功能开关
  1667. RBUTTON_FILTER_USE=true //右键查询功能开关
  1668. end event
  1669. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf()
  1670. end event
  1671. type st_1 from w_publ_1ton_share_detail`st_1 within w_sc_taskwork
  1672. end type
  1673. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_sc_taskwork
  1674. integer x = 3259
  1675. end type
  1676. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_sc_taskwork
  1677. integer width = 1614
  1678. integer height = 1324
  1679. string dataobject = "dw_sc_taskwork_edit"
  1680. end type
  1681. event dw_uc::dwnkey;PARENT.TriggerEvent('user_key')
  1682. IF Key = KeyDownArrow! THEN RETURN 1
  1683. Long uc_row
  1684. s_mtrldef_array arg_s_mtrldef
  1685. IF dw_edit_mode THEN
  1686. IF dw_uc.GetColumnName ( ) = 'dscrp' AND Key = KeyEnter! THEN
  1687. dw_child.SetFocus()
  1688. dw_child.ScrollToRow(1)
  1689. dw_child.SetColumn ('empcode')
  1690. RETURN 1
  1691. ELSEIF dw_uc.GetColumnName ( ) = 'u_order_ml_ordercode' AND Key = KeyEnter! THEN
  1692. PARENT.TriggerEvent('ue_f7')
  1693. RETURN 1
  1694. ELSEIF dw_uc.GetColumnName ( ) = 'u_mtrldef_mtrlcode' AND Key = KeyEnter! THEN
  1695. String ls_mtrlcode,ls_mtrlname
  1696. String ls_mtrlmode,ls_unit
  1697. Long ls_mtrlid
  1698. dw_uc.AcceptText()
  1699. ls_mtrlcode = Upper(Trim(dw_uc.Object.u_mtrldef_mtrlcode[dw_uc.GetRow()]))
  1700. IF f_find_mtrl(ls_mtrlcode,-1,arg_s_mtrldef) = 0 THEN
  1701. PARENT.TriggerEvent('ue_f9')
  1702. RETURN 1
  1703. ELSE
  1704. ls_mtrlid = arg_s_mtrldef.mtrlid[1]
  1705. ls_mtrlcode = arg_s_mtrldef.mtrlcode[1]
  1706. ls_mtrlname = arg_s_mtrldef.mtrlname[1]
  1707. ls_unit = arg_s_mtrldef.unit[1]
  1708. ls_mtrlmode = arg_s_mtrldef.mtrlmode[1]
  1709. END IF
  1710. dw_uc.SetRedraw(FALSE)
  1711. dw_uc.Object.mtrlid[dw_uc.GetRow()] = ls_mtrlid
  1712. dw_uc.Object.u_mtrldef_mtrlcode[dw_uc.GetRow()] = ls_mtrlcode
  1713. dw_uc.Object.u_mtrldef_mtrlname[dw_uc.GetRow()] = ls_mtrlname
  1714. dw_uc.Object.u_mtrldef_mtrlmode[dw_uc.GetRow()] = ls_mtrlmode
  1715. dw_uc.Object.u_mtrldef_unit[dw_uc.GetRow()] = ls_unit
  1716. dw_uc.SetRedraw(TRUE)
  1717. dw_uc.SetColumn("billdate")
  1718. RETURN 1
  1719. ELSE
  1720. IF Key = KeyEnter! THEN //
  1721. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1722. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1723. RETURN 1
  1724. END IF
  1725. END IF
  1726. END IF
  1727. end event
  1728. event dw_uc::doubleclicked;IF dw_edit_mode AND row > 0 THEN
  1729. IF sys_option_task_noorder = 1 AND &
  1730. dw_uc.GetColumnName ( ) = 'u_mtrldef_mtrlcode' THEN
  1731. PARENT.TriggerEvent('ue_f9')
  1732. RETURN 1
  1733. ELSE
  1734. PARENT.TriggerEvent('ue_f7')
  1735. RETURN 1
  1736. END IF
  1737. END IF
  1738. end event
  1739. event dw_uc::clicked;call super::clicked;IF dw_edit_mode THEN
  1740. IF dwo.Name = 't_saletaskmx' OR dwo.Name = 'p_b' THEN
  1741. PARENT.TriggerEvent('ue_f7')
  1742. ELSEIF dwo.Name = 't_mtrl' OR dwo.Name = 'p_1' THEN
  1743. IF sys_option_task_noorder = 1 THEN
  1744. PARENT.TriggerEvent('ue_f9')
  1745. ELSE
  1746. MessageBox('提示','系统[207]已设置为计件单不能直接选择产品,如需改变请与管理员联系')
  1747. END IF
  1748. ELSEIF dwo.Name = 't_saletaskmxpro' OR dwo.Name = 'p_2' THEN
  1749. PARENT.TriggerEvent('ue_f6')
  1750. END IF
  1751. END IF
  1752. end event
  1753. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_sc_taskwork
  1754. integer x = 64
  1755. integer y = 416
  1756. integer width = 343
  1757. integer height = 352
  1758. end type
  1759. type dw_child from w_publ_1ton_share_detail`dw_child within w_sc_taskwork
  1760. integer y = 1700
  1761. integer width = 3543
  1762. integer height = 524
  1763. string title = "明细内容 [F8或双击选择 - 员工 - 产品工序]"
  1764. string dataobject = "dw_sc_taskwork_mx"
  1765. boolean controlmenu = true
  1766. boolean minbox = true
  1767. boolean maxbox = false
  1768. boolean border = false
  1769. boolean titleclick_sort_use = true
  1770. end type
  1771. event dw_child::dwnkey;call super::dwnkey;
  1772. PARENT.TriggerEvent('user_key')
  1773. IF NOT dw_edit_mode THEN RETURN 1
  1774. IF dw_uc.GetRow() <= 0 THEN
  1775. MessageBox('系统提示','请选择单据')
  1776. RETURN
  1777. END IF
  1778. Long child_row
  1779. Long ls_mtrlid
  1780. String ls_procode,ls_proname
  1781. Decimal ls_workprice,ls_workhour,ls_mtrlqty
  1782. String ls_empcode
  1783. Long ll_auditflag
  1784. Long ll_orderid,ll_scid,ll_relprintid
  1785. Long ll_proorder
  1786. String ls_procode_f
  1787. IF dw_edit_mode THEN
  1788. IF KeyDown(keydownarrow!) THEN
  1789. IF dw_child.GetRow() = dw_child.RowCount() THEN
  1790. PARENT.TriggerEvent("insert_childrow")
  1791. END IF
  1792. ELSE
  1793. If (KeyDown(keyenter!) OR KeyDown(keytab!)) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN
  1794. IF dw_child.GetColumnName( ) = 'empcode' THEN
  1795. dw_child.AcceptText()
  1796. child_row = dw_child.GetRow()
  1797. ls_empcode = dw_child.Object.empcode[child_row]
  1798. s_empinfo arg_s_emp
  1799. IF f_find_emp(ls_empcode,arg_s_emp) = 0 THEN
  1800. PARENT.TriggerEvent('ue_f8')
  1801. RETURN 1
  1802. ELSE
  1803. dw_child.SetRedraw(FALSE)
  1804. dw_child.Object.empid[child_row] = arg_s_emp.empid
  1805. dw_child.Object.empcode[child_row] = arg_s_emp.empcode
  1806. dw_child.Object.empname[child_row] = arg_s_emp.empname
  1807. dw_child.SetRedraw(TRUE)
  1808. IF Key = keyenter! THEN //
  1809. IF if_empcode = 0 THEN
  1810. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1811. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1812. RETURN 1
  1813. ELSE
  1814. IF dw_child.GetRow() = dw_child.RowCount() THEN
  1815. PARENT.TriggerEvent("insert_childrow")
  1816. ELSE
  1817. dw_child.ScrollToRow(dw_child.GetRow())
  1818. END IF
  1819. dw_child.SetColumn ('empcode')
  1820. END IF
  1821. END IF
  1822. END IF
  1823. ELSEIF dw_child.GetColumnName( ) = 'u_sc_taskworkmx_procode' THEN
  1824. ls_mtrlid = dw_uc.Object.mtrlid[dw_uc.GetRow()]
  1825. ll_orderid = dw_uc.Object.u_sc_taskwork_orderid[dw_uc.GetRow()]
  1826. ll_relprintid = dw_uc.Object.u_sc_taskwork_relid[dw_uc.GetRow()]
  1827. ll_scid = dw_uc.Object.u_sc_taskwork_scid[dw_uc.GetRow()]
  1828. IF ls_mtrlid = 0 OR IsNull(ls_mtrlid) THEN
  1829. MessageBox(publ_operator,'请先选择订单明细产品')
  1830. RETURN 1
  1831. END IF
  1832. dw_child.AcceptText()
  1833. child_row = dw_child.GetRow()
  1834. ls_procode = dw_child.Object.u_sc_taskworkmx_procode[child_row]
  1835. IF sys_option_task_noorder = 1 THEN
  1836. SELECT procode,proname,workprice,workhour,auditflag,proorder
  1837. INTO :ls_procode_f,:ls_proname,:ls_workprice,:ls_workhour,:ll_auditflag,:ll_proorder
  1838. FROM u_sc_workprice
  1839. WHERE mtrlid = :ls_mtrlid
  1840. And (procode = :ls_procode OR proname = :ls_procode);
  1841. IF sqlca.SQLCode <> 0 THEN
  1842. IF Pos(Trim(ls_procode),'%') = 0 THEN
  1843. ls_procode = '%'+ Trim(ls_procode) + '%'
  1844. ELSE
  1845. ls_procode = Trim(ls_procode)
  1846. END IF
  1847. SELECT procode,proname,workprice,workhour,auditflag,proorder
  1848. INTO :ls_procode_f,:ls_proname,:ls_workprice,:ls_workhour,:ll_auditflag,:ll_proorder
  1849. FROM u_sc_workprice
  1850. WHERE mtrlid = :ls_mtrlid
  1851. And (procode Like :ls_procode OR proname Like :ls_procode);
  1852. IF sqlca.SQLCode <> 0 THEN
  1853. PARENT.TriggerEvent('ue_f11')
  1854. RETURN 1
  1855. END IF
  1856. END IF
  1857. //***检查工价表工序是否已审核工价
  1858. IF ll_auditflag = 0 THEN
  1859. MessageBox(publ_operator,'该工序工价未审核')
  1860. RETURN 1
  1861. END IF
  1862. //******************************
  1863. ELSE
  1864. SELECT U_OrderRqwp.Procode,
  1865. U_OrderRqwp.Proname,
  1866. U_OrderRqwp.Proorder,
  1867. U_OrderRqwp.workprice
  1868. INTO :ls_procode_f,
  1869. :ls_proname,
  1870. :ll_proorder,
  1871. :ls_workprice
  1872. FROM U_OrderRqwp
  1873. WHERE ( U_OrderRqwp.scid = :ll_scid ) AND
  1874. ( U_OrderRqwp.taskid = :ll_orderid ) AND
  1875. ( U_OrderRqwp.procode = :ls_procode OR U_OrderRqwp.proname = :ls_procode) AND
  1876. ( U_OrderRqwp.printid = :ll_relprintid);
  1877. IF sqlca.SQLCode <> 0 THEN
  1878. IF Pos(Trim(ls_procode),'%') = 0 THEN
  1879. ls_procode = '%'+ Trim(ls_procode) + '%'
  1880. ELSE
  1881. ls_procode = Trim(ls_procode)
  1882. END IF
  1883. SELECT U_OrderRqwp.Procode,
  1884. U_OrderRqwp.Proname,
  1885. U_OrderRqwp.Proorder,
  1886. U_OrderRqwp.workprice
  1887. INTO :ls_procode_f,
  1888. :ls_proname,
  1889. :ll_proorder,
  1890. :ls_workprice
  1891. FROM U_OrderRqwp
  1892. WHERE ( U_OrderRqwp.scid = :ll_scid ) AND
  1893. ( U_OrderRqwp.taskid = :ll_orderid ) AND
  1894. ( U_OrderRqwp.procode LIKE :ls_procode OR U_OrderRqwp.proname LIKE :ls_procode) AND
  1895. ( U_OrderRqwp.printid = :ll_relprintid);
  1896. IF sqlca.SQLCode <> 0 THEN
  1897. PARENT.TriggerEvent('ue_f12')
  1898. RETURN 1
  1899. END IF
  1900. END IF
  1901. END IF
  1902. dw_child.Object.u_sc_taskworkmx_procode[child_row] = ls_procode_f
  1903. dw_child.Object.u_sc_taskworkmx_proname[child_row] = ls_proname
  1904. dw_child.Object.workprice[child_row] = ls_workprice
  1905. dw_child.Object.workhour[child_row] = ls_workhour
  1906. IF Key = keyenter! THEN //
  1907. IF if_procode = 0 THEN
  1908. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1909. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1910. RETURN 1
  1911. ELSE
  1912. IF dw_child.GetRow() = dw_child.RowCount() THEN
  1913. PARENT.TriggerEvent("insert_childrow")
  1914. ELSE
  1915. dw_child.ScrollToRow(dw_child.GetRow())
  1916. END IF
  1917. dw_child.SetColumn ('u_sc_taskworkmx_procode')
  1918. END IF
  1919. END IF
  1920. ELSEIF dw_child.GetColumnName( ) = 'u_sc_taskworkmx_mxdscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN
  1921. PARENT.TriggerEvent("insert_childrow")
  1922. RETURN 1
  1923. ELSEIF dw_child.GetColumnName( ) = 'amount' THEN
  1924. child_row = dw_child.GetRow()
  1925. IF Key = keyenter! THEN //
  1926. IF if_amount = 0 THEN
  1927. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1928. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1929. RETURN 1
  1930. ELSE
  1931. IF dw_child.GetRow() = dw_child.RowCount() THEN
  1932. PARENT.TriggerEvent("insert_childrow")
  1933. ELSE
  1934. dw_child.ScrollToRow(child_row )
  1935. END IF
  1936. dw_child.SetColumn ('amount')
  1937. END IF
  1938. END IF
  1939. ELSE
  1940. IF Key = keyenter! THEN //
  1941. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1942. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1943. RETURN 1
  1944. END IF
  1945. END IF
  1946. END IF
  1947. END IF
  1948. END IF
  1949. end event
  1950. event dw_child::doubleclicked;
  1951. //
  1952. //dw_child.AcceptText()
  1953. //IF dw_edit_mode AND row > 0 THEN
  1954. // IF dw_child.GetColumnName( ) = 'u_sc_taskworkmx_procode' OR dw_child.GetColumnName( ) = 'u_sc_taskworkmx_proname' THEN
  1955. // PARENT.TriggerEvent('ue_f11')
  1956. // ELSEIF dw_child.GetColumnName( ) = 'empcode' OR dw_child.GetColumnName( ) = 'empname' THEN
  1957. // PARENT.TriggerEvent('ue_f8')
  1958. // END IF
  1959. //END IF
  1960. dw_child.AcceptText()
  1961. IF dw_edit_mode AND row > 0 THEN
  1962. IF dw_child.GetColumnName( ) = 'u_sc_taskworkmx_procode' OR dw_child.GetColumnName( ) = 'u_sc_taskworkmx_proname' THEN
  1963. IF sys_option_task_noorder = 1 THEN
  1964. PARENT.TriggerEvent('ue_f11')
  1965. ELSE
  1966. PARENT.TriggerEvent('ue_f12')
  1967. END IF
  1968. ELSEIF dw_child.GetColumnName( ) = 'empcode' OR dw_child.GetColumnName( ) = 'empname' THEN
  1969. PARENT.TriggerEvent('ue_f18')
  1970. // PARENT.TriggerEvent('ue_f8')
  1971. END IF
  1972. END IF
  1973. end event
  1974. event dw_child::rbuttondown;CALL u_dw_rbtnfilter::rbuttondown
  1975. arg_ins_xpos = xpos
  1976. arg_ins_ypos = ypos +50
  1977. arg_ins_dwname = dwo.Name
  1978. arg_ins_dwrow = row
  1979. arg_ins_dwtype = dwo.TYPE
  1980. String ls_name
  1981. ls_name = THIS.GetColumnName( )
  1982. IF row > 0 AND arg_ins_dwtype <> 'datawindow' THEN
  1983. arg_ins_dwdata = String(dwo.primary[row])
  1984. END IF
  1985. IF dw_edit_mode THEN
  1986. Long ll_row,ll_column
  1987. ll_row = THIS.GetRow()
  1988. ll_column = THIS.GetColumn()
  1989. IF ll_row <= 0 THEN RETURN
  1990. IF ll_column <= 0 THEN RETURN
  1991. IF Left( THIS.Describe( dwo.Name+ ".coltype"),4) = 'date' THEN
  1992. s_calender_arg s_calender
  1993. s_calender.PointerX = THIS.PointerX()
  1994. s_calender.PointerY = THIS.PointerY()
  1995. s_calender.X = THIS.X + PARENT.X
  1996. s_calender.Y = THIS.Y + PARENT.Y
  1997. OpenWithParm(w_calendar,s_calender)
  1998. THIS.SetItem(ll_row,ll_column,id_date_selected)
  1999. else
  2000. if Left(dwo.TYPE,4) = 'text' then return
  2001. m_dwchild_rbotton_taskwork m_print
  2002. m_print = CREATE m_dwchild_rbotton_taskwork
  2003. m_print.m_0.PopMenu(THIS.X + THIS.PointerX() + 50,THIS.Y + THIS.PointerY() + 50)
  2004. END IF
  2005. END IF
  2006. end event
  2007. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_sc_taskwork
  2008. integer x = 2272
  2009. end type
  2010. type cb_print from w_publ_1ton_share_detail`cb_print within w_sc_taskwork
  2011. integer x = 2080
  2012. end type
  2013. type cb_add from w_publ_1ton_share_detail`cb_add within w_sc_taskwork
  2014. integer x = 297
  2015. end type
  2016. event cb_add::clicked;IF NOT f_power_ind(1325) THEN
  2017. MessageBox('提示','你没有使用权限!')
  2018. RETURN
  2019. END IF
  2020. String arg_msg = ''
  2021. Long uc_row,i
  2022. IF dw_edit_mode THEN
  2023. parent.TriggerEvent('ue_dwchild_filter')
  2024. dw_uc.AcceptText()
  2025. dw_child.AcceptText()
  2026. uc_row = dw_uc.GetRow()
  2027. IF uc_row <= 0 THEN
  2028. MessageBox('系统提示','请选定当前目标单据!')
  2029. RETURN
  2030. END IF
  2031. IF NOT dw_uc.Object.billdate[uc_row] > DateTime(2000-01-01,Now()) THEN
  2032. MessageBox('系统提示','不合理计件日期')
  2033. RETURN
  2034. END IF
  2035. //检查是否按顺序输入
  2036. String ls_procode[]
  2037. Long ll_proorder[],ll_proorder_k[]
  2038. Decimal ld_proqty[],ld_proqty_k[]
  2039. Long ll_mxbt,j,ll_mxbt_k,k
  2040. ll_mxbt = 0
  2041. ll_mxbt_k = 0
  2042. IF s_tran.d_long = 1 THEN
  2043. dw_child.SetSort('u_sc_taskworkmx_proorder A empid D')
  2044. dw_child.Sort()
  2045. //取各工序序号,工序编号的数量
  2046. FOR i = 1 TO dw_child.RowCount()
  2047. FOR j = 1 TO ll_mxbt
  2048. IF dw_child.Object.u_sc_taskworkmx_procode[i] = ls_procode[j] AND &
  2049. dw_child.Object.u_sc_taskworkmx_proorder[i] = ll_proorder[j] THEN
  2050. IF dw_child.Object.empid[i] > 0 THEN
  2051. ld_proqty[j] = ld_proqty[j] + dw_child.Object.amount[i]
  2052. END IF
  2053. GOTO _next
  2054. END IF
  2055. NEXT
  2056. ll_mxbt++
  2057. ls_procode[ll_mxbt] = dw_child.Object.u_sc_taskworkmx_procode[i]
  2058. ll_proorder[ll_mxbt] = dw_child.Object.u_sc_taskworkmx_proorder[i]
  2059. IF dw_child.Object.empid[i] > 0 THEN
  2060. ld_proqty[ll_mxbt] = dw_child.Object.amount[i]
  2061. ELSE
  2062. ld_proqty[ll_mxbt] = 0
  2063. END IF
  2064. _next:
  2065. NEXT
  2066. //取各工序序号的最小数量
  2067. FOR j = 1 TO ll_mxbt
  2068. FOR k = 1 TO ll_mxbt_k
  2069. IF ll_proorder_k[k] = ll_proorder[j] THEN
  2070. IF ld_proqty_k[k] > ld_proqty[j] THEN
  2071. ld_proqty_k[k] = ld_proqty[j]
  2072. GOTO _next_k
  2073. END IF
  2074. END IF
  2075. NEXT
  2076. ll_mxbt_k++
  2077. ll_proorder_k[ll_mxbt_k] = ll_proorder[j]
  2078. ld_proqty_k[ll_mxbt_k] = ld_proqty[j]
  2079. _next_k:
  2080. NEXT
  2081. FOR k = 2 TO ll_mxbt_k
  2082. FOR j = 1 TO ll_mxbt
  2083. IF ll_proorder_k[k] = ll_proorder[j] THEN
  2084. IF ld_proqty[j] > ld_proqty_k[k - 1] THEN //如果下一序号其中一工序的数量比上一序号最少数量大,则不通过
  2085. MessageBox('系统提示','工序序号{'+String(ll_proorder[j])+'}的计件数量{'+String(ld_proqty[j],'#,##0.##########')+'}比工序序号{'+String(ll_proorder_k[k - 1])+'}的最少计件数量{'+String(ld_proqty_k[k - 1],'#,##0.##########')+'}多,不能通过,请检查!')
  2086. RETURN
  2087. END IF
  2088. END IF
  2089. NEXT
  2090. NEXT
  2091. END IF
  2092. uo_taskwork_dq.billdate = dw_uc.Object.billdate[uc_row]
  2093. uo_taskwork_dq.wageid = dw_uc.Object.wageid[uc_row]
  2094. uo_taskwork_dq.mtrlid = dw_uc.Object.mtrlid[uc_row]
  2095. uo_taskwork_dq.qty = dw_uc.Object.u_saletaskmx_orderqty[uc_row]
  2096. uo_taskwork_dq.dscrp = dw_uc.Object.dscrp[uc_row]
  2097. uo_taskwork_dq.wagemth = dw_uc.Object.u_sc_taskwork_wagemth[uc_row]
  2098. uo_taskwork_dq.orderid = dw_uc.Object.u_sc_taskwork_orderid[uc_row] //订单ID
  2099. uo_taskwork_dq.relid = dw_uc.Object.u_sc_taskwork_relid[uc_row] //订单printid
  2100. uo_taskwork_dq.relcode = dw_uc.Object.u_sc_taskwork_relcode[uc_row]
  2101. FOR i = 1 TO dw_child.RowCount()
  2102. IF dw_child.Object.empid[i] > 0 THEN
  2103. IF uo_taskwork_dq.acceptmx(dw_child.Object.empid[i],&
  2104. dw_child.Object.empcode[i],&
  2105. dw_child.Object.empname[i],&
  2106. dw_child.Object.u_sc_taskworkmx_procode[i],&
  2107. dw_child.Object.u_sc_taskworkmx_proname[i],&
  2108. dw_child.Object.amount[i],&
  2109. dw_child.Object.workprice[i],&
  2110. dw_child.Object.workhour[i],&
  2111. dw_child.Object.u_sc_taskworkmx_mxdscrp[i],&
  2112. arg_msg,&
  2113. dw_child.Object.pid[i],&
  2114. dw_child.Object.u_sc_taskworkmx_status[i],&
  2115. dw_child.Object.u_sc_taskworkmx_proorder[i]) = 0 THEN
  2116. MessageBox('error!',arg_msg)
  2117. RETURN
  2118. END IF
  2119. END IF
  2120. NEXT
  2121. IF uo_taskwork_dq.Save(arg_msg,TRUE) = 0 THEN
  2122. MessageBox('error!',arg_msg)
  2123. RETURN
  2124. END IF
  2125. MessageBox(publ_operator,'保存操作成功!')
  2126. //write ini
  2127. SetProfileString (sys_inifilename,dw_uc.DataObject, "ddlb_wageid",String(dw_uc.Object.wageid[dw_uc.GetRow()]))
  2128. //
  2129. Long ll_row
  2130. ll_row = dw_pageretr.GetRow()
  2131. dw_pageretr.SelectRow(0,FALSE)
  2132. dw_pageretr.SelectRow(ll_row,TRUE)
  2133. wf_refresh_curuc(uo_taskwork_dq.scid,uo_taskwork_dq.billid)
  2134. ELSE
  2135. IF uo_taskwork_dq.newbegin(cur_scid,arg_msg) = 0 THEN
  2136. MessageBox('error!',arg_msg)
  2137. RETURN
  2138. END IF
  2139. END IF
  2140. CALL SUPER::Clicked
  2141. IF dw_edit_mode THEN
  2142. IF sys_option_task_noorder = 0 THEN
  2143. dw_uc.SetTabOrder('u_mtrldef_mtrlcode',0)
  2144. END IF
  2145. //read ini
  2146. String ls_wageid
  2147. ls_wageid = ProfileString (sys_inifilename,dw_uc.DataObject, "ddlb_wageid",'0')
  2148. dw_uc.Object.wageid[dw_uc.GetRow()] = Long(ls_wageid)
  2149. dw_uc.Object.billdate[dw_uc.GetRow()] = DateTime(Date(em_dftdate.Text),Time(0))
  2150. dw_uc.Object.u_sc_taskwork_wagemth[dw_uc.GetRow()] = Year(Date(em_dftdate.Text)) * 100 + Month(Date(em_dftdate.Text))
  2151. dw_uc.SetColumn('u_saletask_taskcode')
  2152. PARENT.TriggerEvent("insert_childrow")
  2153. ELSE
  2154. PARENT.TriggerEvent("retrieve_childdw")
  2155. END IF
  2156. wf_flagstatus_rf()
  2157. end event
  2158. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_sc_taskwork
  2159. integer x = 489
  2160. end type
  2161. event cb_edit::clicked;IF NOT f_power_ind(1325) THEN
  2162. MessageBox('提示','你没有使用权限!')
  2163. RETURN
  2164. END IF
  2165. String arg_msg = ''
  2166. Long uc_row
  2167. uc_row = dw_pageretr.GetRow()
  2168. IF uc_row <= 0 THEN
  2169. MessageBox('提示','请选定当前目标单据!')
  2170. RETURN
  2171. END IF
  2172. IF NOT dw_edit_mode THEN
  2173. IF uo_taskwork_dq.updatebegin(dw_pageretr.Object.u_sc_taskwork_scid[uc_row],dw_pageretr.Object.billid[uc_row],arg_msg) = 0 THEN
  2174. MessageBox('Error!',arg_msg)
  2175. RETURN
  2176. END IF
  2177. wf_refresh_curuc(dw_pageretr.Object.u_sc_taskwork_scid[uc_row],dw_pageretr.Object.billid[uc_row])
  2178. PARENT.TriggerEvent("retrieve_childdw")
  2179. END IF
  2180. CALL SUPER::Clicked
  2181. IF dw_edit_mode THEN
  2182. IF sys_option_task_noorder = 0 THEN
  2183. dw_uc.SetTabOrder('u_mtrldef_mtrlcode',0)
  2184. END IF
  2185. END IF
  2186. wf_flagstatus_rf()
  2187. end event
  2188. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_sc_taskwork
  2189. integer x = 681
  2190. integer width = 165
  2191. end type
  2192. event cb_delet::clicked;call super::clicked;if not f_power_ind(1329) then
  2193. messagebox('提示','你没有使用权限!')
  2194. return
  2195. end if
  2196. if dw_edit_mode then return
  2197. string arg_msg=''
  2198. long uc_row
  2199. uc_row=dw_pageretr.getrow()
  2200. if uc_row<=0 then
  2201. messagebox('提示','请选定当前目标单据!')
  2202. return
  2203. end if
  2204. IF MessageBox ("IF","是否确定要删除当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  2205. if uo_taskwork_dq.del(dw_pageretr.object.u_sc_taskwork_scid[uc_row],dw_pageretr.object.billid[uc_row],arg_msg,true)=0 then
  2206. messagebox('Error!',arg_msg)
  2207. ELSE
  2208. //日志
  2209. long ls_id
  2210. string ls_code
  2211. ls_id=dw_pageretr.object.billid[uc_row]
  2212. ls_code=dw_pageretr.object.billcode[uc_row]
  2213. f_setsysoplog('产品个人计件单','产品个人计件单删除,id:'+string(ls_id)+',code:'+ls_code,arg_msg,true)
  2214. //--
  2215. MESSAGEBOX(publ_operator,'删除单据'+string(dw_pageretr.object.billcode[uc_row])+'成功!')
  2216. dw_pageretr.deleterow(uc_row)
  2217. dw_pageretr.Triggerevent(rowfocuschanged!)
  2218. end if
  2219. end event
  2220. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_sc_taskwork
  2221. integer x = 1582
  2222. integer width = 247
  2223. end type
  2224. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  2225. String menustr
  2226. menustr = "Text=增加备注~tEvent=ue_addzy"
  2227. menustr = menustr + "|" + "Text=-"
  2228. menustr = menustr + "|" + "Text=复制单据~tEvent=ue_bill_copy"
  2229. menustr = menustr + "|" + "Text=粘贴单据~tEvent=ue_bill_paste"
  2230. menustr = menustr + "|" + "Text=-"
  2231. menustr = menustr + "|" + "Text=批设定工序~tEvent=ue_p_pro"
  2232. menustr = menustr + "|" + "Text=-"
  2233. menustr = menustr + "|" + "Text=批审核~tEvent=ue_audit_all"
  2234. menustr = menustr + "|" + "Text=批撤审~tEvent=ue_caudit_all"
  2235. menustr = menustr + "|" + "Text=-"
  2236. menustr = menustr + "|" + "Text=导入工价表单价~tEvent=ue_importprice"
  2237. IF Len(Trim(menustr)) <> 0 THEN
  2238. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  2239. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  2240. dmPopupMenu.mf_PopMenu()
  2241. DESTROY dmPopupMenu
  2242. END IF
  2243. end event
  2244. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_sc_taskwork
  2245. string tag = "按Ctrl键点击按钮可执行批操作"
  2246. integer x = 1239
  2247. end type
  2248. event cb_auditing::clicked;call super::clicked;IF NOT f_power_ind(1327) THEN
  2249. MessageBox('提示','你没有使用权限!')
  2250. RETURN
  2251. END IF
  2252. IF dw_edit_mode THEN RETURN
  2253. String arg_msg = ''
  2254. Long pagerert_row
  2255. Long ll_billid,ll_scid
  2256. IF NOT KeyDown(KeyControl!) THEN
  2257. pagerert_row = dw_pageretr.GetRow()
  2258. IF pagerert_row <= 0 THEN
  2259. MessageBox('提示','请选定当前目标单据!')
  2260. RETURN
  2261. END IF
  2262. IF MessageBox ("询问","是否确定要审核当前单据?",question!,yesno! ) = 2 THEN RETURN
  2263. ll_scid = dw_pageretr.Object.u_sc_taskwork_scid[pagerert_row]
  2264. ll_billid = dw_pageretr.Object.billid[pagerert_row]
  2265. IF uo_taskwork_dq.auditmx(ll_scid,ll_billid,arg_msg,TRUE) = 0 THEN
  2266. MessageBox('Error!',arg_msg)
  2267. ELSE
  2268. MessageBox('提示','审核成功!')
  2269. wf_refresh_curuc(ll_scid,ll_billid)
  2270. END IF
  2271. ELSE
  2272. PARENT.TriggerEvent('ue_audit_all')
  2273. END IF
  2274. end event
  2275. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_sc_taskwork
  2276. integer x = 1829
  2277. end type
  2278. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_sc_taskwork
  2279. integer width = 146
  2280. end type
  2281. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_sc_taskwork
  2282. boolean visible = false
  2283. integer x = 3282
  2284. boolean enabled = false
  2285. end type
  2286. type cb_help from w_publ_1ton_share_detail`cb_help within w_sc_taskwork
  2287. integer x = 2464
  2288. end type
  2289. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_sc_taskwork
  2290. string tag = "按Ctrl键点击按钮可执行批操作"
  2291. integer x = 1431
  2292. end type
  2293. event cb_auditing_cancel::clicked;call super::clicked;IF NOT f_power_ind(1327) THEN
  2294. MessageBox('提示','你没有使用权限!', Information!, OK! )
  2295. RETURN
  2296. END IF
  2297. IF dw_edit_mode THEN RETURN
  2298. String arg_msg = ''
  2299. Long pagerert_row
  2300. Long ll_billid,ll_scid
  2301. IF NOT KeyDown(KeyControl!) THEN
  2302. pagerert_row = dw_pageretr.GetRow()
  2303. IF pagerert_row <= 0 THEN
  2304. MessageBox('提示','请选定当前目标单据!', Information!, OK! )
  2305. RETURN
  2306. END IF
  2307. IF MessageBox ("询问","是否确定要撤审当前单据?",question!,yesno! ) = 2 THEN RETURN
  2308. ll_scid = dw_pageretr.Object.u_sc_taskwork_scid[pagerert_row]
  2309. ll_billid = dw_pageretr.Object.billid[pagerert_row]
  2310. IF uo_taskwork_dq.cauditmx(ll_scid,ll_billid,arg_msg,TRUE) = 0 THEN
  2311. MessageBox('错误',arg_msg, StopSign!, OK! )
  2312. ELSE
  2313. MessageBox('提示','撤审成功!')
  2314. wf_refresh_curuc(ll_scid,ll_billid)
  2315. END IF
  2316. ELSE
  2317. PARENT.TriggerEvent('ue_caudit_all')
  2318. END IF
  2319. end event
  2320. type p_msg from w_publ_1ton_share_detail`p_msg within w_sc_taskwork
  2321. end type
  2322. type p_help from w_publ_1ton_share_detail`p_help within w_sc_taskwork
  2323. end type
  2324. type p_encl from w_publ_1ton_share_detail`p_encl within w_sc_taskwork
  2325. end type
  2326. type p_other from w_publ_1ton_share_detail`p_other within w_sc_taskwork
  2327. end type
  2328. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_sc_taskwork
  2329. end type
  2330. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_sc_taskwork
  2331. end type
  2332. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_sc_taskwork
  2333. end type
  2334. type r_bar from w_publ_1ton_share_detail`r_bar within w_sc_taskwork
  2335. integer x = 3314
  2336. integer width = 59
  2337. integer height = 152
  2338. end type
  2339. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_sc_taskwork
  2340. end type
  2341. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_sc_taskwork
  2342. end type
  2343. type ddlb_status from dropdownlistbox within w_sc_taskwork
  2344. integer x = 1582
  2345. integer y = 188
  2346. integer width = 325
  2347. integer height = 300
  2348. integer taborder = 20
  2349. boolean bringtotop = true
  2350. integer textsize = -9
  2351. integer weight = 400
  2352. fontcharset fontcharset = gb2312charset!
  2353. fontpitch fontpitch = variable!
  2354. string facename = "宋体"
  2355. long textcolor = 33554432
  2356. string text = "[全部]"
  2357. boolean sorted = false
  2358. string item[] = {"[全部]","待确认","待审核","已审核"}
  2359. borderstyle borderstyle = stylelowered!
  2360. end type
  2361. event selectionchanged;IF Index = 1 THEN
  2362. cur_affirmflag = -1
  2363. cur_flag = -1
  2364. ELSEIF Index = 2 THEN
  2365. cur_affirmflag = 0
  2366. cur_flag = 0
  2367. ELSEIF Index = 3 THEN
  2368. cur_affirmflag = 1
  2369. cur_flag = 0
  2370. ELSEIF Index = 4 THEN
  2371. cur_affirmflag = 1
  2372. cur_flag = 1
  2373. END IF
  2374. PARENT.TriggerEvent('retrieve_pageretr')
  2375. end event
  2376. type st_2 from statictext within w_sc_taskwork
  2377. integer x = 1408
  2378. integer y = 200
  2379. integer width = 169
  2380. integer height = 48
  2381. integer textsize = -9
  2382. integer weight = 400
  2383. fontcharset fontcharset = gb2312charset!
  2384. fontpitch fontpitch = variable!
  2385. string facename = "宋体"
  2386. long textcolor = 33554432
  2387. long backcolor = 134217739
  2388. string text = "状态"
  2389. alignment alignment = center!
  2390. boolean focusrectangle = false
  2391. end type
  2392. type em_dftdate from editmask within w_sc_taskwork
  2393. integer x = 2281
  2394. integer y = 184
  2395. integer width = 453
  2396. integer height = 92
  2397. integer taborder = 50
  2398. boolean bringtotop = true
  2399. integer textsize = -9
  2400. integer weight = 400
  2401. fontcharset fontcharset = gb2312charset!
  2402. fontpitch fontpitch = variable!
  2403. string facename = "宋体"
  2404. long textcolor = 33554432
  2405. string text = "none"
  2406. alignment alignment = center!
  2407. borderstyle borderstyle = stylelowered!
  2408. maskdatatype maskdatatype = datemask!
  2409. string mask = "yyyy-mm-dd"
  2410. boolean spin = true
  2411. end type
  2412. event constructor;this.text = string(today(),'yyyy-mm-dd')
  2413. end event
  2414. type st_3 from statictext within w_sc_taskwork
  2415. integer x = 1920
  2416. integer y = 204
  2417. integer width = 343
  2418. integer height = 48
  2419. boolean bringtotop = true
  2420. integer textsize = -9
  2421. integer weight = 400
  2422. fontcharset fontcharset = gb2312charset!
  2423. fontpitch fontpitch = variable!
  2424. string facename = "宋体"
  2425. long backcolor = 134217739
  2426. string text = "默认计件日期"
  2427. alignment alignment = right!
  2428. boolean focusrectangle = false
  2429. end type
  2430. type cb_affirm from uo_imflatbutton within w_sc_taskwork
  2431. string tag = "按Ctrl键点击按钮可执行批操作"
  2432. integer x = 846
  2433. integer width = 201
  2434. integer height = 164
  2435. integer taborder = 50
  2436. boolean bringtotop = true
  2437. string text = "确认&C"
  2438. string normalpicname = "audit.bmp"
  2439. integer picsize = 16
  2440. toolbaralignment pic_align = alignattop!
  2441. boolean border = false
  2442. end type
  2443. event clicked;call super::clicked;IF NOT f_power_ind(1326) THEN
  2444. MessageBox('提示','你没有使用权限!')
  2445. RETURN
  2446. END IF
  2447. IF dw_edit_mode THEN RETURN
  2448. String arg_msg
  2449. Long pagerert_row
  2450. IF NOT KeyDown(keycontrol!) THEN
  2451. pagerert_row = dw_pageretr.GetRow()
  2452. IF pagerert_row <= 0 THEN
  2453. MessageBox('提示','请选定当前目标单据!')
  2454. RETURN
  2455. END IF
  2456. IF MessageBox ("if","是否确定要确认当前单据?",question!,yesno! ) = 2 THEN RETURN
  2457. IF uo_taskwork_dq.affirm(dw_pageretr.Object.u_sc_taskwork_scid[pagerert_row],dw_pageretr.Object.billid[pagerert_row],arg_msg,TRUE) = 0 THEN
  2458. MessageBox('error!',arg_msg)
  2459. ELSE
  2460. MessageBox('提示','确认成功!')
  2461. wf_refresh_curuc(dw_pageretr.Object.u_sc_taskwork_scid[pagerert_row],dw_pageretr.Object.billid[pagerert_row])
  2462. END IF
  2463. ELSE
  2464. IF MessageBox ("if","是否确定要批确认列表中未确认的单据?",question!,yesno! ) = 2 THEN RETURN
  2465. Long ll_i,ll_billid,ll_scid
  2466. Int li_flag
  2467. Long ll_suc,ll_fail
  2468. String arg_msg_arr
  2469. string ls_billcode
  2470. dw_pageretr.AcceptText()
  2471. Open(w_sys_wait_jdt) //初始化进度条
  2472. w_sys_wait_jdt.Show()
  2473. w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
  2474. FOR ll_i = 1 TO dw_pageretr.RowCount()
  2475. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.billcode[ll_i] + " 正在确认..." //进度信息
  2476. w_sys_wait_jdt.wf_inc(ll_i) //进度
  2477. li_flag = dw_pageretr.Object.u_sc_taskwork_affirmflag[ll_i]
  2478. IF li_flag = 1 THEN CONTINUE
  2479. ll_billid = dw_pageretr.Object.billid[ll_i]
  2480. ll_scid = dw_pageretr.Object.u_sc_taskwork_scid[ll_i]
  2481. ls_billcode = dw_pageretr.Object.billcode[ll_i]
  2482. IF uo_taskwork_dq.affirm(ll_scid,ll_billid,arg_msg,TRUE) = 0 THEN
  2483. ll_fail++
  2484. arg_msg_arr = arg_msg_arr +ls_billcode +'失败原因:'+ arg_msg +'~r~n'
  2485. CONTINUE
  2486. END IF
  2487. ll_suc++
  2488. NEXT
  2489. Close(w_sys_wait_jdt)
  2490. MessageBox('提示','批确认成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail))
  2491. IF ll_fail > 0 THEN
  2492. OpenWithParm(w_message_err,arg_msg_arr)
  2493. END IF
  2494. PARENT.TriggerEvent('retrieve_pageretr')
  2495. wf_flagstatus_rf()
  2496. END IF
  2497. end event
  2498. type cb_cancel_affirm from uo_imflatbutton within w_sc_taskwork
  2499. string tag = "按Ctrl键点击按钮可执行批操作"
  2500. integer x = 1042
  2501. integer width = 192
  2502. integer height = 164
  2503. integer taborder = 60
  2504. boolean bringtotop = true
  2505. string text = "反确认"
  2506. string normalpicname = "caudit.bmp"
  2507. integer picsize = 16
  2508. toolbaralignment pic_align = alignattop!
  2509. boolean border = false
  2510. end type
  2511. event clicked;call super::clicked;IF NOT f_power_ind(1326) THEN
  2512. MessageBox('提示','你没有使用权限!')
  2513. RETURN
  2514. END IF
  2515. IF dw_edit_mode THEN RETURN
  2516. String arg_msg
  2517. Long pagerert_row
  2518. IF NOT KeyDown(keycontrol!) THEN
  2519. pagerert_row = dw_pageretr.GetRow()
  2520. IF pagerert_row <= 0 THEN
  2521. MessageBox('提示','请选定当前目标单据!')
  2522. RETURN
  2523. END IF
  2524. IF MessageBox ("询问","是否确定要反确认当前单据?",question!,yesno! ) = 2 THEN RETURN
  2525. IF uo_taskwork_dq.c_affirm(dw_pageretr.Object.u_sc_taskwork_scid[pagerert_row],dw_pageretr.Object.billid[pagerert_row],arg_msg,TRUE) = 0 THEN
  2526. MessageBox('错误',arg_msg, StopSign!, OK! )
  2527. ELSE
  2528. MessageBox('提示','反确认成功!')
  2529. wf_refresh_curuc(dw_pageretr.Object.u_sc_taskwork_scid[pagerert_row],dw_pageretr.Object.billid[pagerert_row])
  2530. END IF
  2531. ELSE
  2532. IF MessageBox ("询问","是否确定要批反确认列表中已确认的单据?",question!,yesno! ) = 2 THEN RETURN
  2533. Long ll_i,ll_billid,ll_scid
  2534. Int li_flag
  2535. Long ll_suc,ll_fail
  2536. String arg_msg_arr
  2537. String ls_billcode
  2538. dw_pageretr.AcceptText()
  2539. Open(w_sys_wait_jdt) //初始化进度条
  2540. w_sys_wait_jdt.Show()
  2541. w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
  2542. FOR ll_i = 1 TO dw_pageretr.RowCount()
  2543. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.billcode[ll_i] + " 正在反确认..." //进度信息
  2544. li_flag = dw_pageretr.Object.u_sc_taskwork_affirmflag[ll_i]
  2545. IF li_flag = 0 THEN CONTINUE
  2546. ll_billid = dw_pageretr.Object.billid[ll_i]
  2547. ll_scid = dw_pageretr.Object.u_sc_taskwork_scid[ll_i]
  2548. ls_billcode = dw_pageretr.Object.billcode[ll_i]
  2549. IF uo_taskwork_dq.c_affirm(ll_scid,ll_billid,arg_msg,TRUE) = 0 THEN
  2550. ll_fail++
  2551. arg_msg_arr = arg_msg_arr +ls_billcode +'失败原因:'+ arg_msg +'~r~n'
  2552. CONTINUE
  2553. END IF
  2554. ll_suc++
  2555. w_sys_wait_jdt.wf_inc(ll_i) //进度
  2556. NEXT
  2557. Close(w_sys_wait_jdt)
  2558. MessageBox('提示','批反确认成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail))
  2559. IF ll_fail > 0 THEN
  2560. OpenWithParm(w_message_err,arg_msg_arr)
  2561. END IF
  2562. PARENT.TriggerEvent('retrieve_pageretr')
  2563. wf_flagstatus_rf()
  2564. END IF
  2565. end event
  2566. type ddlb_scid from uo_ddlb_scid within w_sc_taskwork
  2567. integer x = 873
  2568. integer y = 188
  2569. integer width = 553
  2570. integer height = 604
  2571. integer taborder = 30
  2572. boolean bringtotop = true
  2573. end type
  2574. event constructor;call super::constructor;cur_scid = THIS.uo_scid
  2575. cur_scid_arr = THIS.uo_scid_arr
  2576. end event
  2577. event selectionchanged;call super::selectionchanged;cur_scid = THIS.uo_scid
  2578. cur_scid_arr = THIS.uo_scid_arr
  2579. PARENT.TriggerEvent("retrieve_pageretr")
  2580. end event
  2581. type st_4 from statictext within w_sc_taskwork
  2582. integer x = 722
  2583. integer y = 204
  2584. integer width = 146
  2585. integer height = 48
  2586. boolean bringtotop = true
  2587. integer textsize = -9
  2588. integer weight = 400
  2589. fontcharset fontcharset = gb2312charset!
  2590. fontpitch fontpitch = variable!
  2591. string facename = "宋体"
  2592. long textcolor = 33554432
  2593. long backcolor = 134217739
  2594. string text = "分部"
  2595. alignment alignment = center!
  2596. boolean focusrectangle = false
  2597. end type
  2598. type cbx_empcode from checkbox within w_sc_taskwork
  2599. integer x = 23
  2600. integer y = 1624
  2601. integer width = 741
  2602. integer height = 72
  2603. boolean bringtotop = true
  2604. integer textsize = -9
  2605. integer weight = 400
  2606. fontcharset fontcharset = gb2312charset!
  2607. fontpitch fontpitch = variable!
  2608. string facename = "宋体"
  2609. long textcolor = 33554432
  2610. long backcolor = 134217739
  2611. string text = "[工号]回车后光标纵向移动"
  2612. end type
  2613. event clicked;IF THIS.Checked THEN
  2614. if_empcode = 1
  2615. ELSE
  2616. if_empcode = 0
  2617. END IF
  2618. SetProfileString (sys_inifilename,PARENT.ClassName( ) , "if_empcode", String(if_empcode))
  2619. end event
  2620. event constructor;if_empcode = Integer(ProfileString (sys_inifilename,PARENT.ClassName( ), "if_empcode", '0'))
  2621. IF if_empcode = 0 THEN
  2622. THIS.Checked = FALSE
  2623. ELSE
  2624. THIS.Checked = TRUE
  2625. END IF
  2626. end event
  2627. type cbx_procode from checkbox within w_sc_taskwork
  2628. integer x = 832
  2629. integer y = 1624
  2630. integer width = 850
  2631. integer height = 72
  2632. boolean bringtotop = true
  2633. integer textsize = -9
  2634. integer weight = 400
  2635. fontcharset fontcharset = gb2312charset!
  2636. fontpitch fontpitch = variable!
  2637. string facename = "宋体"
  2638. long textcolor = 33554432
  2639. long backcolor = 134217739
  2640. string text = "[工序编号]回车后光标纵向移动"
  2641. end type
  2642. event constructor;if_procode = Integer(ProfileString (sys_inifilename,PARENT.ClassName( ), "if_procode", '0'))
  2643. IF if_procode = 0 THEN
  2644. THIS.Checked = FALSE
  2645. ELSE
  2646. THIS.Checked = TRUE
  2647. END IF
  2648. end event
  2649. event clicked;IF THIS.Checked THEN
  2650. if_procode = 1
  2651. ELSE
  2652. if_procode = 0
  2653. END IF
  2654. SetProfileString (sys_inifilename,PARENT.ClassName( ) , "if_procode", String(if_procode))
  2655. end event
  2656. type cbx_amount from checkbox within w_sc_taskwork
  2657. integer x = 1751
  2658. integer y = 1624
  2659. integer width = 782
  2660. integer height = 72
  2661. boolean bringtotop = true
  2662. integer textsize = -9
  2663. integer weight = 400
  2664. fontcharset fontcharset = gb2312charset!
  2665. fontpitch fontpitch = variable!
  2666. string facename = "宋体"
  2667. long textcolor = 33554432
  2668. long backcolor = 134217739
  2669. string text = "[数量]回车后光标纵向移动"
  2670. end type
  2671. event constructor;if_amount = Integer(ProfileString (sys_inifilename,PARENT.ClassName( ), "if_amount", '0'))
  2672. IF if_amount = 0 THEN
  2673. THIS.Checked = FALSE
  2674. ELSE
  2675. THIS.Checked = TRUE
  2676. END IF
  2677. end event
  2678. event clicked;IF THIS.Checked THEN
  2679. if_amount = 1
  2680. ELSE
  2681. if_amount = 0
  2682. END IF
  2683. SetProfileString (sys_inifilename,PARENT.ClassName( ) , "if_amount", String(if_amount))
  2684. end event
  2685. type cbx_1 from checkbox within w_sc_taskwork
  2686. integer x = 2761
  2687. integer y = 204
  2688. integer width = 402
  2689. integer height = 60
  2690. boolean bringtotop = true
  2691. integer textsize = -9
  2692. integer weight = 400
  2693. fontcharset fontcharset = gb2312charset!
  2694. fontpitch fontpitch = variable!
  2695. string facename = "宋体"
  2696. long textcolor = 33554432
  2697. long backcolor = 134217739
  2698. string text = "自动加工序"
  2699. end type
  2700. event clicked;IF THIS.Checked THEN
  2701. if_autopro = 1
  2702. ELSE
  2703. if_autopro = 0
  2704. END IF
  2705. SetProfileString (sys_inifilename,PARENT.ClassName( ) , "if_autopro", String(if_autopro))
  2706. end event
  2707. event constructor;if_autopro=integer(ProfileString (sys_inifilename,parent.classname( ), "if_autopro", '0'))
  2708. if if_autopro = 0 then
  2709. this.checked=false
  2710. else
  2711. this.checked=true
  2712. end if
  2713. end event
  2714. type cbx_copy from checkbox within w_sc_taskwork
  2715. integer x = 3150
  2716. integer y = 204
  2717. integer width = 466
  2718. integer height = 60
  2719. boolean bringtotop = true
  2720. integer textsize = -9
  2721. integer weight = 400
  2722. fontcharset fontcharset = gb2312charset!
  2723. fontpitch fontpitch = variable!
  2724. string facename = "宋体"
  2725. long textcolor = 33554432
  2726. long backcolor = 134217739
  2727. string text = "复制行平分数量"
  2728. end type
  2729. event clicked;if this.checked then
  2730. if_copyqty = 1
  2731. else
  2732. if_copyqty = 0
  2733. end if
  2734. SetProfileString (sys_inifilename,PARENT.ClassName( ) , "if_copyqty", String(if_copyqty))
  2735. end event
  2736. event constructor;if_copyqty = Integer(ProfileString (sys_inifilename,PARENT.ClassName( ), "if_copyqty", '0'))
  2737. IF if_copyqty = 0 THEN
  2738. THIS.Checked = FALSE
  2739. ELSE
  2740. THIS.Checked = TRUE
  2741. END IF
  2742. end event