w_bmstamt_spt_edit.srw 66 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660
  1. $PBExportHeader$w_bmstamt_spt_edit.srw
  2. forward
  3. global type w_bmstamt_spt_edit from w_publ_1ton_share_detail
  4. end type
  5. type ddlb_status from dropdownlistbox within w_bmstamt_spt_edit
  6. end type
  7. type ddlb_scid from uo_ddlb_scid within w_bmstamt_spt_edit
  8. end type
  9. type st_3 from statictext within w_bmstamt_spt_edit
  10. end type
  11. type st_2 from statictext within w_bmstamt_spt_edit
  12. end type
  13. type cbx_1 from checkbox within w_bmstamt_spt_edit
  14. end type
  15. end forward
  16. global type w_bmstamt_spt_edit from w_publ_1ton_share_detail
  17. string title = "供应商付款结算单"
  18. boolean maxbox = true
  19. windowstate windowstate = maximized!
  20. event ue_update_spt ( )
  21. event insert_childrow ( )
  22. event ue_confirm ( )
  23. event ue_confirm_cancel ( )
  24. event ue_p_ttakeamt ( )
  25. event ue_p_tzqamt ( )
  26. event ue_set_zqamt ( )
  27. event ue_p_cmpl ( )
  28. event ue_fj_view ( )
  29. event ue_fj_edit ( )
  30. event ue_p_auditing ( )
  31. event ue_c_p_auditing ( )
  32. event ue_p_secauditing ( )
  33. event ue_c_p_secauditing ( )
  34. event ue_p_confirm ( )
  35. event ue_c_p_confirm ( )
  36. ddlb_status ddlb_status
  37. ddlb_scid ddlb_scid
  38. st_3 st_3
  39. st_2 st_2
  40. cbx_1 cbx_1
  41. end type
  42. global w_bmstamt_spt_edit w_bmstamt_spt_edit
  43. type variables
  44. uo_bmstamt uo_take
  45. Int cur_flag = -1
  46. int cur_secflag = -1
  47. Int cur_confirmflag = -1
  48. Long cur_scid
  49. end variables
  50. forward prototypes
  51. public function integer wf_refresh_curuc (long arg_billid)
  52. public function integer wf_flagstatus_rf ()
  53. public subroutine wf_ue_f7 (s_inwarebuy_ch s_inware)
  54. public subroutine wf_ue_f7_getmx (integer arg_scid, integer arg_takeid, string arg_msg)
  55. end prototypes
  56. event ue_update_spt();//用于选择明细内容,被F9[默认]
  57. IF dw_edit_mode THEN RETURN
  58. IF Not f_power_ind(1514) THEN
  59. MessageBox('提示','你没有使用权限!',information!,ok!)
  60. RETURN
  61. END IF
  62. Long uc_row,ll_Baid
  63. String arg_msg
  64. dw_uc.AcceptText()
  65. uc_row = dw_uc.GetRow()
  66. IF uc_row = 0 THEN
  67. MessageBox('系统提示','请选定单据!')
  68. RETURN
  69. END IF
  70. ll_Baid = dw_uc.Object.u_Bmstamt_Baid[uc_row]
  71. IF Not IsValid(w_spt_edit) THEN
  72. s_edit_index_tran s_ch_tran //传递参数使用
  73. s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行
  74. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  75. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  76. //查询列(物料编码)部分内容,用于初步筛选
  77. dw_uc.AcceptText()
  78. OpenWithParm(w_spt_edit,s_ch_tran) //调用
  79. s_spt S_INSCUST
  80. S_INSCUST = Message.PowerObjectParm //接受返回结构
  81. IF S_INSCUST.sptid > 0 THEN //正常返回值则可以取以下值
  82. IF uo_take.uof_update_cust(ll_Baid,S_INSCUST.sptid,arg_msg,True) = 0 THEN
  83. MessageBox('提示',arg_msg)
  84. RETURN
  85. END IF
  86. MessageBox('提示','更新成功')
  87. wf_refresh_curuc(ll_Baid)
  88. END IF
  89. END IF
  90. end event
  91. event insert_childrow();long li_row
  92. li_row=dw_child.insertrow(0)
  93. dw_child.scrolltorow(li_row)
  94. dw_child.SetColumn ('ttakeamt')
  95. end event
  96. event ue_confirm();//确认
  97. IF NOT f_power_ind(1754) THEN
  98. MessageBox('提示','你没有使用权限!',information!,ok!)
  99. RETURN
  100. END IF
  101. IF dw_edit_mode THEN RETURN
  102. String arg_msg = ''
  103. Long pagerert_row
  104. pagerert_row = dw_pageretr.GetRow()
  105. IF pagerert_row <= 0 THEN
  106. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  107. RETURN
  108. END IF
  109. IF MessageBox ("询问","是否确定要确认当前单据?",question!,yesno! ) = 2 THEN RETURN
  110. IF uo_take.confirm(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row],publ_operator,arg_msg,TRUE) = 0 THEN
  111. MessageBox('错误',arg_msg,stopsign!,ok!)
  112. ELSE
  113. MessageBox('提示','确认成功!',information!,ok!)
  114. wf_refresh_curuc(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row])
  115. END IF
  116. end event
  117. event ue_confirm_cancel();//反确认
  118. IF NOT f_power_ind(1755) THEN
  119. MessageBox('提示','你没有使用权限!',information!,ok!)
  120. RETURN
  121. END IF
  122. IF dw_edit_mode THEN RETURN
  123. String arg_msg = ''
  124. Long pagerert_row
  125. pagerert_row = dw_pageretr.GetRow()
  126. IF pagerert_row <= 0 THEN
  127. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  128. RETURN
  129. END IF
  130. IF MessageBox ("询问","是否确定要反确认当前单据?",question!,yesno! ) = 2 THEN RETURN
  131. IF uo_take.cconfirm(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row],publ_operator,arg_msg,TRUE) = 0 THEN
  132. MessageBox('错误',arg_msg,stopsign!,ok!)
  133. ELSE
  134. MessageBox('提示','反确认成功!',information!,ok!)
  135. wf_refresh_curuc(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row])
  136. END IF
  137. end event
  138. event ue_p_ttakeamt();Long i, ll_row
  139. Decimal lde_takeamt, lde_not_takeamt , lde_ttakeamt_add
  140. dw_uc.AcceptText()
  141. ll_row = dw_uc.GetRow()
  142. IF ll_row <= 0 THEN
  143. MessageBox('系统提示','请选择目标单据')
  144. RETURN
  145. END IF
  146. IF MessageBox('确定','是否确定批计算本次应收金额?',question!, yesno!) = 2 THEN RETURN
  147. lde_takeamt = dw_uc.Object.bmstamt[ll_row]
  148. FOR i = 1 To dw_child.RowCount()
  149. lde_not_takeamt = dw_child.Object.msttakeamt[i] - dw_child.Object.takeamt[i]
  150. IF lde_not_takeamt < 0 THEN
  151. lde_takeamt -= lde_not_takeamt
  152. END IF
  153. NEXT
  154. IF lde_takeamt < 0 THEN lde_takeamt = 0
  155. FOR i = 1 To dw_child.RowCount()
  156. lde_not_takeamt = dw_child.Object.msttakeamt[i] - dw_child.Object.takeamt[i]
  157. IF lde_not_takeamt < 0 THEN
  158. lde_ttakeamt_add = lde_not_takeamt
  159. // lde_takeamt -= lde_ttakeamt_add
  160. ELSE
  161. lde_ttakeamt_add = Min(lde_takeamt, lde_not_takeamt)
  162. lde_takeamt -= lde_ttakeamt_add
  163. END IF
  164. dw_child.Object.ttakeamt[i] = lde_ttakeamt_add
  165. NEXT
  166. end event
  167. event ue_p_tzqamt();Long i, ll_row
  168. Decimal lde_zqamt, lde_not_takeamt , lde_tzqamt_add
  169. dw_uc.AcceptText()
  170. ll_row = dw_uc.GetRow()
  171. IF ll_row <= 0 THEN
  172. MessageBox('系统提示','请选择目标单据')
  173. RETURN
  174. END IF
  175. IF MessageBox('确定','是否确定批计算本次应收金额?',question!, yesno!) = 2 THEN RETURN
  176. lde_zqamt = dw_uc.Object.u_bmstamt_zqamt[ll_row]
  177. IF lde_zqamt < 0 THEN lde_zqamt = 0
  178. FOR i = 1 To dw_child.RowCount()
  179. lde_not_takeamt = dw_child.Object.msttakeamt[i] - dw_child.Object.takeamt[i]
  180. IF lde_not_takeamt < 0 THEN
  181. lde_tzqamt_add = 0
  182. ELSE
  183. lde_tzqamt_add = Min(lde_zqamt, lde_not_takeamt)
  184. lde_zqamt -= lde_tzqamt_add
  185. END IF
  186. dw_child.Object.tzqamt[i] = lde_tzqamt_add
  187. NEXT
  188. end event
  189. event ue_set_zqamt();Long i, ll_row
  190. Decimal lde_zqamt, lde_not_takeamt , lde_ttakeamt_add, lde_tzqamt_add, lde_zqamt_add
  191. dw_uc.AcceptText()
  192. dw_child.AcceptText()
  193. ll_row = dw_uc.GetRow()
  194. IF ll_row <= 0 THEN
  195. MessageBox('系统提示','请选择目标单据')
  196. RETURN
  197. END IF
  198. IF MessageBox('确定','是否确定计算余额作为折扣金额?',question!, yesno!) = 2 THEN RETURN
  199. FOR i = 1 To dw_child.RowCount()
  200. lde_not_takeamt = dw_child.Object.msttakeamt[i] - dw_child.Object.takeamt[i]
  201. lde_ttakeamt_add = dw_child.Object.ttakeamt[i]
  202. IF lde_ttakeamt_add >= lde_not_takeamt THEN
  203. lde_tzqamt_add = 0
  204. ELSE
  205. lde_tzqamt_add = lde_not_takeamt - lde_ttakeamt_add
  206. lde_zqamt_add += lde_tzqamt_add
  207. END IF
  208. dw_child.Object.tzqamt[i] = lde_tzqamt_add
  209. NEXT
  210. dw_uc.Object.u_bmstamt_zqamt[ll_row] = lde_zqamt_add
  211. end event
  212. event ue_p_cmpl();Long i, ll_row
  213. Decimal lde_takeamt, lde_not_takeamt , lde_ttakeamt_add
  214. Decimal lde_zqamt, lde_tzqamt_add, lde_zqamt_add
  215. dw_uc.AcceptText()
  216. ll_row = dw_uc.GetRow()
  217. IF ll_row <= 0 THEN
  218. MessageBox('系统提示','请选择目标单据')
  219. RETURN
  220. END IF
  221. IF MessageBox('确定','是否确定分配收款且余款作为折扣金额?',question!, yesno!) = 2 THEN RETURN
  222. lde_takeamt = dw_uc.Object.bmstamt[ll_row]
  223. FOR i = 1 To dw_child.RowCount()
  224. lde_not_takeamt = dw_child.Object.msttakeamt[i] - dw_child.Object.takeamt[i]
  225. IF lde_not_takeamt < 0 THEN
  226. lde_takeamt -= lde_not_takeamt
  227. END IF
  228. NEXT
  229. IF lde_takeamt < 0 THEN lde_takeamt = 0
  230. FOR i = 1 To dw_child.RowCount()
  231. lde_not_takeamt = dw_child.Object.msttakeamt[i] - dw_child.Object.takeamt[i]
  232. IF lde_not_takeamt < 0 THEN
  233. lde_ttakeamt_add = lde_not_takeamt
  234. // lde_takeamt -= lde_ttakeamt_add
  235. ELSE
  236. lde_ttakeamt_add = Min(lde_takeamt, lde_not_takeamt)
  237. lde_takeamt -= lde_ttakeamt_add
  238. END IF
  239. dw_child.Object.ttakeamt[i] = lde_ttakeamt_add
  240. NEXT
  241. FOR i = 1 To dw_child.RowCount()
  242. lde_not_takeamt = dw_child.Object.msttakeamt[i] - dw_child.Object.takeamt[i]
  243. IF lde_not_takeamt < 0 THEN
  244. dw_child.Object.tzqamt[i] = 0
  245. CONTINUE
  246. END IF
  247. lde_ttakeamt_add = dw_child.Object.ttakeamt[i]
  248. IF lde_ttakeamt_add >= lde_not_takeamt THEN
  249. lde_tzqamt_add = 0
  250. ELSE
  251. lde_tzqamt_add = lde_not_takeamt - lde_ttakeamt_add
  252. lde_zqamt_add += lde_tzqamt_add
  253. END IF
  254. dw_child.Object.tzqamt[i] = lde_tzqamt_add
  255. NEXT
  256. dw_uc.Object.u_bmstamt_zqamt[ll_row] = lde_zqamt_add
  257. end event
  258. event ue_fj_view();IF dw_edit_mode THEN
  259. MessageBox('提示','编辑状态下不可用',information!,OK!)
  260. RETURN
  261. END IF
  262. s_edit_index_tran s_pic
  263. Long ll_ConnectionID
  264. String arg_msg
  265. Long ls_row
  266. ls_row = dw_pageretr.GetRow()
  267. IF ls_row <= 0 THEN
  268. RETURN
  269. END IF
  270. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  271. MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,OK!)
  272. RETURN
  273. END IF
  274. s_pic.f_long = 561 //
  275. s_pic.f_string = dw_pageretr.Object.u_bmstamt_bacode[ls_row]
  276. s_pic.g_long = dw_pageretr.Object.u_bmstamt_baid[ls_row]
  277. s_pic.e_long = dw_pageretr.Object.u_bmstamt_scid[ls_row]
  278. s_pic.sqltransaction = sys_filedb_sqlca
  279. OpenWithParm(w_fj_bill_view,s_pic)
  280. end event
  281. event ue_fj_edit();IF dw_edit_mode THEN
  282. MessageBox('提示','编辑状态下不可用',information!,OK!)
  283. RETURN
  284. END IF
  285. //IF NOT f_power_ind(1098) THEN
  286. // MessageBox(publ_operator,sys_msg_pow)
  287. // RETURN
  288. //END IF
  289. s_edit_index_tran s_pic
  290. Long ll_ConnectionID
  291. String arg_msg
  292. Long ls_row
  293. ls_row = dw_pageretr.GetRow()
  294. IF ls_row <= 0 THEN
  295. RETURN
  296. END IF
  297. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  298. MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,OK!)
  299. RETURN
  300. END IF
  301. s_pic.f_long = 561 //
  302. s_pic.f_string = dw_pageretr.Object.u_bmstamt_bacode[ls_row]
  303. s_pic.g_long = dw_pageretr.Object.u_bmstamt_baid[ls_row]
  304. s_pic.e_long = dw_pageretr.Object.u_bmstamt_scid[ls_row]
  305. s_pic.sqltransaction = sys_filedb_sqlca
  306. OpenWithParm(w_fj_bill_mng,s_pic)
  307. end event
  308. event ue_p_auditing();//批初审
  309. Long i
  310. String arg_msg,ls_msg2
  311. String ls_taskcode
  312. IF dw_edit_mode THEN RETURN
  313. IF Not f_power_ind(1756) THEN
  314. MessageBox('提示','你没有使用权限!',information!,ok!)
  315. RETURN
  316. END IF
  317. IF dw_pageretr.Find('ch = 1',1,dw_pageretr.RowCount()) = 0 THEN
  318. MessageBox('系统提示','请先勾选要批初审的单据!')
  319. RETURN
  320. END IF
  321. IF MessageBox ("询问","是否确定要对已选择的单据批初审核?",Question!,YesNo! ) = 2 THEN RETURN
  322. Close(w_sys_wait)
  323. Open(w_sys_wait)
  324. FOR i = 1 To dw_pageretr.RowCount()
  325. ls_taskcode = ''
  326. arg_msg = ''
  327. ls_taskcode = dw_pageretr.Object.u_bmstamt_bacode[i]
  328. IF dw_pageretr.Object.ch[i] = 1 THEN
  329. IF dw_pageretr.Object.u_bmstamt_flag[i] = 1 THEN
  330. arg_msg = ls_taskcode + ',已经初审' +'~r~n'
  331. ls_msg2 = ls_msg2 + arg_msg
  332. CONTINUE
  333. END IF
  334. IF uo_take.auditing(dw_pageretr.Object.u_Bmstamt_Baid[i],publ_operator,arg_msg,True) = 0 THEN
  335. arg_msg = ls_taskcode + ',初审失败,' +arg_msg +'~r~n'
  336. ls_msg2 = ls_msg2 + arg_msg
  337. END IF
  338. END IF
  339. NEXT
  340. Close(w_sys_wait)
  341. IF ls_msg2 <> '' THEN
  342. OpenWithParm(w_message_err,ls_msg2)
  343. ELSE
  344. MessageBox('提示','全部初审成功!')
  345. END IF
  346. cb_retrieve.TriggerEvent('clicked')
  347. end event
  348. event ue_c_p_auditing();// 批初撤审
  349. Long i
  350. String arg_msg,ls_msg2
  351. String ls_taskcode
  352. IF dw_edit_mode THEN RETURN
  353. IF Not f_power_ind(1757) THEN
  354. MessageBox('提示','你没有使用权限!',information!,ok!)
  355. RETURN
  356. END IF
  357. IF dw_pageretr.Find('ch = 1',1,dw_pageretr.RowCount()) = 0 THEN
  358. MessageBox('系统提示','请先勾选要批初审的单据!')
  359. RETURN
  360. END IF
  361. IF MessageBox ("询问","是否确定要对已选择的单据批初审核?",Question!,YesNo! ) = 2 THEN RETURN
  362. Close(w_sys_wait)
  363. Open(w_sys_wait)
  364. FOR i = 1 To dw_pageretr.RowCount()
  365. ls_taskcode = ''
  366. arg_msg = ''
  367. ls_taskcode = dw_pageretr.Object.u_bmstamt_bacode[i]
  368. IF dw_pageretr.Object.ch[i] = 1 THEN
  369. IF dw_pageretr.Object.u_bmstamt_flag[i] = 0 THEN
  370. arg_msg = ls_taskcode + ',未初审,不能初撤' +'~r~n'
  371. ls_msg2 = ls_msg2 + arg_msg
  372. CONTINUE
  373. END IF
  374. IF dw_pageretr.Object.u_bmstamt_secflag[i] = 1 THEN
  375. arg_msg = ls_taskcode + ',已终审,不能初撤' +'~r~n'
  376. ls_msg2 = ls_msg2 + arg_msg
  377. CONTINUE
  378. END IF
  379. IF uo_take.auditing_cancel(dw_pageretr.Object.u_Bmstamt_Baid[i],arg_msg,True) = 0 THEN
  380. arg_msg = ls_taskcode + ',初撤审失败,' +arg_msg +'~r~n'
  381. ls_msg2 = ls_msg2 + arg_msg
  382. END IF
  383. END IF
  384. NEXT
  385. Close(w_sys_wait)
  386. IF ls_msg2 <> '' THEN
  387. OpenWithParm(w_message_err,ls_msg2)
  388. ELSE
  389. MessageBox('提示','全部初撤审成功!')
  390. END IF
  391. cb_retrieve.TriggerEvent('clicked')
  392. end event
  393. event ue_p_secauditing();//批终审
  394. Long i
  395. String arg_msg,ls_msg2
  396. String ls_taskcode
  397. IF dw_edit_mode THEN RETURN
  398. IF Not f_power_ind(1758) THEN
  399. MessageBox('提示','你没有使用权限!',information!,ok!)
  400. RETURN
  401. END IF
  402. IF dw_pageretr.Find('ch = 1',1,dw_pageretr.RowCount()) = 0 THEN
  403. MessageBox('系统提示','请先勾选要批终审的单据!')
  404. RETURN
  405. END IF
  406. IF MessageBox ("询问","是否确定要对已选择的单据批终审核?",Question!,YesNo! ) = 2 THEN RETURN
  407. Close(w_sys_wait)
  408. Open(w_sys_wait)
  409. FOR i = 1 To dw_pageretr.RowCount()
  410. ls_taskcode = ''
  411. arg_msg = ''
  412. ls_taskcode = dw_pageretr.Object.u_bmstamt_bacode[i]
  413. IF dw_pageretr.Object.ch[i] = 1 THEN
  414. IF dw_pageretr.Object.u_bmstamt_secflag[i] = 1 THEN
  415. arg_msg = ls_taskcode + ',已经终审' +'~r~n'
  416. ls_msg2 = ls_msg2 + arg_msg
  417. CONTINUE
  418. END IF
  419. IF uo_take.secauditing(dw_pageretr.Object.u_Bmstamt_Baid[i],publ_operator,arg_msg,True) = 0 THEN
  420. arg_msg = ls_taskcode + ',终审失败,' +arg_msg +'~r~n'
  421. ls_msg2 = ls_msg2 + arg_msg
  422. END IF
  423. END IF
  424. NEXT
  425. Close(w_sys_wait)
  426. IF ls_msg2 <> '' THEN
  427. OpenWithParm(w_message_err,ls_msg2)
  428. ELSE
  429. MessageBox('提示','全部终审成功!')
  430. END IF
  431. cb_retrieve.TriggerEvent('clicked')
  432. end event
  433. event ue_c_p_secauditing();//批终撤
  434. Long i
  435. String arg_msg,ls_msg2
  436. String ls_taskcode
  437. IF dw_edit_mode THEN RETURN
  438. IF Not f_power_ind(1759) THEN
  439. MessageBox('提示','你没有使用权限!',information!,ok!)
  440. RETURN
  441. END IF
  442. IF dw_pageretr.Find('ch = 1',1,dw_pageretr.RowCount()) = 0 THEN
  443. MessageBox('系统提示','请先勾选要批终撤的单据!')
  444. RETURN
  445. END IF
  446. IF MessageBox ("询问","是否确定要对已选择的单据批终撤?",Question!,YesNo! ) = 2 THEN RETURN
  447. Close(w_sys_wait)
  448. Open(w_sys_wait)
  449. FOR i = 1 To dw_pageretr.RowCount()
  450. ls_taskcode = ''
  451. arg_msg = ''
  452. ls_taskcode = dw_pageretr.Object.u_bmstamt_bacode[i]
  453. IF dw_pageretr.Object.ch[i] = 1 THEN
  454. IF dw_pageretr.Object.u_bmstamt_secflag[i] = 0 THEN
  455. arg_msg = ls_taskcode + ',没有终审' +'~r~n'
  456. ls_msg2 = ls_msg2 + arg_msg
  457. CONTINUE
  458. END IF
  459. IF uo_take.c_secauditing(dw_pageretr.Object.u_Bmstamt_Baid[i],arg_msg,True) = 0 THEN
  460. arg_msg = ls_taskcode + ',终撤失败,' +arg_msg +'~r~n'
  461. ls_msg2 = ls_msg2 + arg_msg
  462. END IF
  463. END IF
  464. NEXT
  465. Close(w_sys_wait)
  466. IF ls_msg2 <> '' THEN
  467. OpenWithParm(w_message_err,ls_msg2)
  468. ELSE
  469. MessageBox('提示','全部终撤成功!')
  470. END IF
  471. cb_retrieve.TriggerEvent('clicked')
  472. end event
  473. event ue_p_confirm();//批确认
  474. Long i
  475. String arg_msg,ls_msg2
  476. String ls_taskcode
  477. IF dw_edit_mode THEN RETURN
  478. IF Not f_power_ind(1754) THEN
  479. MessageBox('提示','你没有使用权限!',information!,ok!)
  480. RETURN
  481. END IF
  482. IF dw_pageretr.Find('ch = 1',1,dw_pageretr.RowCount()) = 0 THEN
  483. MessageBox('系统提示','请先勾选要批确认的单据!')
  484. RETURN
  485. END IF
  486. IF MessageBox ("询问","是否确定要对已选择的单据批确认?",Question!,YesNo! ) = 2 THEN RETURN
  487. Close(w_sys_wait)
  488. Open(w_sys_wait)
  489. FOR i = 1 To dw_pageretr.RowCount()
  490. ls_taskcode = ''
  491. arg_msg = ''
  492. ls_taskcode = dw_pageretr.Object.u_bmstamt_bacode[i]
  493. IF dw_pageretr.Object.ch[i] = 1 THEN
  494. IF dw_pageretr.Object.u_bmstamt_confirmflag[i] = 1 THEN
  495. arg_msg = ls_taskcode + ',已经确认' +'~r~n'
  496. ls_msg2 = ls_msg2 + arg_msg
  497. CONTINUE
  498. END IF
  499. If dw_pageretr.Object.u_bmstamt_secflag[i] = 0 Then
  500. arg_msg = ls_taskcode + ',未终审' +'~r~n'
  501. ls_msg2 = ls_msg2 + arg_msg
  502. CONTINUE
  503. END IF
  504. IF uo_take.confirm(dw_pageretr.Object.u_Bmstamt_Baid[i],publ_operator,arg_msg,True) = 0 THEN
  505. arg_msg = ls_taskcode + ',确认失败,' +arg_msg +'~r~n'
  506. ls_msg2 = ls_msg2 + arg_msg
  507. END IF
  508. END IF
  509. NEXT
  510. Close(w_sys_wait)
  511. IF ls_msg2 <> '' THEN
  512. OpenWithParm(w_message_err,ls_msg2)
  513. ELSE
  514. MessageBox('提示','全部确认成功!')
  515. END IF
  516. cb_retrieve.TriggerEvent('clicked')
  517. end event
  518. event ue_c_p_confirm();//批反确认
  519. Long i
  520. String arg_msg,ls_msg2
  521. String ls_taskcode
  522. IF dw_edit_mode THEN RETURN
  523. IF Not f_power_ind(1755) THEN
  524. MessageBox('提示','你没有使用权限!',information!,ok!)
  525. RETURN
  526. END IF
  527. IF dw_pageretr.Find('ch = 1',1,dw_pageretr.RowCount()) = 0 THEN
  528. MessageBox('系统提示','请先勾选要批反确认的单据!')
  529. RETURN
  530. END IF
  531. IF MessageBox ("询问","是否确定要对已选择的单据批反确认?",Question!,YesNo! ) = 2 THEN RETURN
  532. Close(w_sys_wait)
  533. Open(w_sys_wait)
  534. FOR i = 1 To dw_pageretr.RowCount()
  535. ls_taskcode = ''
  536. arg_msg = ''
  537. ls_taskcode = dw_pageretr.Object.u_bmstamt_bacode[i]
  538. IF dw_pageretr.Object.ch[i] = 1 THEN
  539. IF dw_pageretr.Object.u_bmstamt_confirmflag[i] = 0 THEN
  540. arg_msg = ls_taskcode + ',未确认' +'~r~n'
  541. ls_msg2 = ls_msg2 + arg_msg
  542. CONTINUE
  543. END IF
  544. IF uo_take.cconfirm(dw_pageretr.Object.u_Bmstamt_Baid[i],publ_operator,arg_msg,True) = 0 THEN
  545. arg_msg = ls_taskcode + ',反确认失败,' +arg_msg +'~r~n'
  546. ls_msg2 = ls_msg2 + arg_msg
  547. END IF
  548. END IF
  549. NEXT
  550. Close(w_sys_wait)
  551. IF ls_msg2 <> '' THEN
  552. OpenWithParm(w_message_err,ls_msg2)
  553. ELSE
  554. MessageBox('提示','全部反确认成功!')
  555. END IF
  556. cb_retrieve.TriggerEvent('clicked')
  557. end event
  558. public function integer wf_refresh_curuc (long arg_billid);IF arg_billid <= 0 OR IsNull(arg_billid) THEN RETURN 0
  559. Long uc_row
  560. uc_row = dw_pageretr.GetRow()
  561. IF uc_row <= 0 THEN RETURN 0
  562. Long scid
  563. String sptcode
  564. Long accountid
  565. DateTime BaDate
  566. Decimal Bmstamt, zqamt
  567. String dscrp
  568. Long cusid
  569. String BaCode
  570. Int flag
  571. DateTime opdate
  572. String opemp
  573. String Name
  574. String auditemp
  575. DateTime auditdate
  576. Long Baid
  577. String BaRep
  578. Long moneyid
  579. Long itemid
  580. String itemcode
  581. String itemname
  582. String accountsname
  583. String moneyname
  584. String confirmemp
  585. DateTime confirmdate
  586. Int confirmflag
  587. Long relid
  588. Long banktypeid
  589. Decimal mrate
  590. DateTime viewdate
  591. string relcode
  592. string fpcode
  593. long secflag
  594. string secemp
  595. datetime secdate
  596. long acmoneyid
  597. string rep
  598. string bankstr
  599. string idcode
  600. string ls_dscrp
  601. string accountrep
  602. SELECT u_Bmstamt.scid,
  603. u_spt.sptcode,
  604. u_Bmstamt.accountid,
  605. u_Bmstamt.BaDate,
  606. u_Bmstamt.Bmstamt,
  607. u_Bmstamt.zqamt,
  608. u_Bmstamt.dscrp,
  609. u_Bmstamt.cusid,
  610. u_Bmstamt.BaCode,
  611. u_Bmstamt.flag,
  612. u_Bmstamt.opdate,
  613. u_Bmstamt.opemp,
  614. u_spt.name,
  615. u_Bmstamt.auditemp,
  616. u_Bmstamt.auditdate,
  617. u_Bmstamt.Baid,
  618. u_Bmstamt.BaRep,
  619. u_Bmstamt.moneyid,
  620. u_Bmstamt.mrate,
  621. u_Bmstamt.viewdate,
  622. u_Bmstamt.banktypeid,
  623. u_Bmstamt.itemid,
  624. u_itemdef.itemcode,
  625. u_itemdef.itemname,
  626. u_accounts.accountsname,
  627. cw_currency.name,
  628. u_Bmstamt.relid,
  629. u_Bmstamt.confirmemp,
  630. u_Bmstamt.confirmdate,
  631. u_Bmstamt.confirmflag,
  632. u_Bmstamt.relcode,
  633. u_Bmstamt.fpcode,
  634. u_Bmstamt.secflag,
  635. u_Bmstamt.secemp,
  636. u_Bmstamt.secdate,
  637. u_accounts.moneyid,
  638. u_spt.rep,
  639. u_accounts.bankstr,
  640. u_accounts.idcode,
  641. u_accounts.dscrp,
  642. u_accounts.accountrep
  643. INTO :scid,
  644. :sptcode,
  645. :accountid,
  646. :BaDate,
  647. :Bmstamt,
  648. :zqamt,
  649. :dscrp,
  650. :cusid,
  651. :BaCode,
  652. :flag,
  653. :opdate,
  654. :opemp,
  655. :Name,
  656. :auditemp ,
  657. :auditdate,
  658. :Baid,
  659. :BaRep,
  660. :moneyid,
  661. :mrate,
  662. :viewdate,
  663. :banktypeid,
  664. :itemid,
  665. :itemcode,
  666. :itemname,
  667. :accountsname,
  668. :moneyname,
  669. :relid,
  670. :confirmemp,
  671. :confirmdate,
  672. :confirmflag,
  673. :relcode,
  674. :fpcode,
  675. :secflag,
  676. :secemp,
  677. :secdate,
  678. :acmoneyid,
  679. :rep,
  680. :bankstr,
  681. :idcode,
  682. :ls_dscrp,
  683. :accountrep
  684. FROM u_Bmstamt LEFT OUTER JOIN u_itemdef
  685. ON u_Bmstamt.itemid = u_itemdef.itemid LEFT OUTER JOIN u_accounts
  686. ON u_Bmstamt.accountid = u_accounts.accountsid LEFT OUTER JOIN cw_currency
  687. ON u_Bmstamt.moneyid = cw_currency.moneyid LEFT OUTER JOIN u_spt
  688. ON u_Bmstamt.cusid = u_spt.sptid
  689. WHERE ( u_Bmstamt.Baid = :arg_billid );
  690. IF sqlca.SQLCode <> 0 THEN
  691. MessageBox('错误',"查询单据操作失败"+sqlca.SQLErrText,stopsign!,ok!)
  692. RETURN 0
  693. END IF
  694. dw_pageretr.SetRedraw(FALSE)
  695. dw_pageretr.Object.u_Bmstamt_scid[uc_row] = scid
  696. dw_pageretr.Object.u_spt_sptcode[uc_row] = sptcode
  697. dw_pageretr.Object.u_Bmstamt_accountid[uc_row] = accountid
  698. dw_pageretr.Object.u_Bmstamt_BaDate[uc_row] = BaDate
  699. dw_pageretr.Object.u_Bmstamt_Bmstamt[uc_row] = Bmstamt
  700. dw_pageretr.Object.u_Bmstamt_zqamt[uc_row] = zqamt
  701. dw_pageretr.Object.u_Bmstamt_dscrp[uc_row] = dscrp
  702. dw_pageretr.Object.u_Bmstamt_cusid[uc_row] = cusid
  703. dw_pageretr.Object.u_Bmstamt_BaCode[uc_row] = BaCode
  704. dw_pageretr.Object.u_Bmstamt_flag[uc_row] = flag
  705. dw_pageretr.Object.u_Bmstamt_opemp[uc_row] = opemp
  706. dw_pageretr.Object.u_Bmstamt_opdate[uc_row] = opdate
  707. dw_pageretr.Object.u_Bmstamt_auditemp[uc_row] = auditemp
  708. dw_pageretr.Object.u_Bmstamt_auditemp[uc_row] = auditemp
  709. dw_pageretr.Object.u_Bmstamt_auditdate[uc_row] = auditdate
  710. dw_pageretr.Object.u_Bmstamt_moneyid[uc_row] = moneyid
  711. dw_pageretr.Object.u_Bmstamt_mrate[uc_row] = mrate
  712. dw_pageretr.Object.u_Bmstamt_viewdate[uc_row] = viewdate
  713. dw_pageretr.Object.u_Bmstamt_banktypeid[uc_row] = banktypeid
  714. dw_pageretr.Object.u_Bmstamt_BaRep[uc_row] = BaRep
  715. dw_pageretr.Object.u_itemdef_itemcode[uc_row] = itemcode
  716. dw_pageretr.Object.u_itemdef_itemname[uc_row] = itemname
  717. dw_pageretr.Object.u_Bmstamt_itemid[uc_row] = itemid
  718. dw_pageretr.Object.u_accounts_accountsname[uc_row] = accountsname
  719. dw_pageretr.Object.cw_currency_name[uc_row] = moneyname
  720. dw_pageretr.Object.u_Bmstamt_confirmemp[uc_row] = confirmemp
  721. dw_pageretr.Object.u_Bmstamt_confirmdate[uc_row] = confirmdate
  722. dw_pageretr.Object.u_Bmstamt_confirmflag[uc_row] = confirmflag
  723. dw_pageretr.Object.u_Bmstamt_relid[uc_row] = relid
  724. dw_pageretr.Object.u_Bmstamt_Baid[uc_row] = arg_billid
  725. dw_pageretr.Object.u_spt_name[uc_row] = name
  726. dw_pageretr.Object.u_spt_rep[uc_row] = rep
  727. dw_pageretr.Object.u_Bmstamt_relcode[uc_row] = relcode
  728. dw_pageretr.Object.u_accounts_moneyid[uc_row] = acmoneyid
  729. dw_pageretr.Object.u_Bmstamt_fpcode[uc_row] = fpcode
  730. dw_pageretr.Object.u_Bmstamt_secflag[uc_row] = secflag
  731. dw_pageretr.Object.u_Bmstamt_secemp[uc_row] = secemp
  732. dw_pageretr.Object.u_Bmstamt_secdate[uc_row] = secdate
  733. dw_pageretr.Object.u_accounts_bankstr[uc_row] = bankstr
  734. dw_pageretr.Object.u_accounts_idcode[uc_row] = idcode
  735. dw_pageretr.Object.u_accounts_dscrp[uc_row] = ls_dscrp
  736. dw_pageretr.Object.u_accounts_accountrep[uc_row] = accountrep
  737. dw_pageretr.SetRedraw(TRUE)
  738. dw_uc.Reset()
  739. dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  740. wf_flagstatus_rf()
  741. RETURN 1
  742. end function
  743. public function integer wf_flagstatus_rf ();//wf_flagstatus_rf
  744. Long pagerert_row
  745. Int li_flag,li_confirmflag,li_secflag
  746. pagerert_row = dw_pageretr.GetRow()
  747. IF pagerert_row <= 0 THEN
  748. cb_auditing.Enabled = FALSE
  749. cb_auditing_cancel.Enabled = FALSE
  750. cur_flag = -1
  751. cur_secflag = -1
  752. GOTO ext
  753. END IF
  754. li_flag = dw_pageretr.Object.u_Bmstamt_flag[pagerert_row]
  755. li_secflag = dw_pageretr.Object.u_Bmstamt_secflag[pagerert_row]
  756. li_confirmflag = dw_pageretr.Object.u_Bmstamt_confirmflag[pagerert_row]
  757. IF dw_edit_mode THEN
  758. cb_auditing.Text = '审核&F'
  759. cb_auditing.Enabled = FALSE
  760. cb_auditing_cancel.Enabled = FALSE
  761. ELSE
  762. IF sys_option_msttake_takeamt_secaudit = 0 THEN
  763. cb_auditing.Text = '审核&F'
  764. cb_auditing_cancel.Text = '撤审'
  765. IF li_flag = 0 THEN
  766. cb_auditing.Enabled = TRUE
  767. cb_auditing_cancel.Enabled = FALSE
  768. ELSEIF li_flag = 1 THEN
  769. cb_auditing.Enabled = FALSE
  770. cb_auditing_cancel.Enabled = TRUE
  771. END IF
  772. ELSE
  773. IF li_flag = 0 THEN
  774. cb_auditing.Text = '初审&F'
  775. cb_auditing_cancel.Text = '初撤'
  776. cb_auditing.Enabled = TRUE
  777. cb_auditing_cancel.Enabled = FALSE
  778. ELSEIF li_flag = 1 AND li_secflag = 0 THEN
  779. cb_auditing.Text = '终审&F'
  780. cb_auditing_cancel.Text = '初撤'
  781. cb_auditing.Enabled = TRUE
  782. cb_auditing_cancel.Enabled = TRUE
  783. ELSEIF li_flag = 1 AND li_secflag = 1 THEN
  784. cb_auditing.Text = '终审&F'
  785. cb_auditing_cancel.Text = '终撤'
  786. cb_auditing.Enabled = FALSE
  787. cb_auditing_cancel.Enabled = TRUE
  788. END IF
  789. END IF
  790. END IF
  791. cb_auditing.TriggerEvent('ue_textchange')
  792. cb_auditing_cancel.TriggerEvent('ue_textchange')
  793. ext:
  794. RETURN 0
  795. end function
  796. public subroutine wf_ue_f7 (s_inwarebuy_ch s_inware);long rslt = 1
  797. string arg_msg
  798. Long ll_storageid
  799. Long ll_scid,ll_takeid
  800. Long ll_inwareid,ll_banktypeid,ll_btype,ll_banktypeid_new
  801. String ls_inwarecode
  802. dw_uc.SetRedraw(False)
  803. dw_uc.Object.cusid[dw_uc.GetRow()] = s_inware.sptid
  804. dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()] = s_inware.sptcode
  805. dw_uc.Object.u_spt_name[dw_uc.GetRow()] = s_inware.sptname
  806. dw_uc.Object.u_bmstamt_moneyid[dw_uc.GetRow()] = s_inware.moneyid
  807. dw_child.Object.billcode[dw_uc.GetRow()] = s_inware.billcode
  808. dw_child.Object.zqamt[dw_uc.GetRow()] = s_inware.zqamt
  809. dw_child.Object.takedate[dw_uc.GetRow()] = s_inware.indate
  810. ll_scid = dw_uc.Object.scid[dw_uc.GetRow()]
  811. ll_inwareid = s_inware.inwareid
  812. ls_inwarecode = s_inware.billcode
  813. //设置结算方式
  814. ll_banktypeid = s_inware.banktypeid
  815. SELECT btype
  816. INTO :ll_btype
  817. FROM cw_banktype
  818. WHERE cw_banktype.banktypeid = :ll_banktypeid;
  819. IF sqlca.SQLCode <> 0 THEN
  820. // arg_msg = '查询相关结算方式ID失败'
  821. // rslt = 0
  822. // GOTO ext
  823. END IF
  824. SELECT banktypeid
  825. INTO :ll_banktypeid_new
  826. FROM cw_banktype
  827. WHERE cw_banktype.btype = :ll_btype
  828. AND cw_banktype.banktype = 2;
  829. IF sqlca.SQLCode <> 0 THEN
  830. // arg_msg = '查询相关结算方式失败'
  831. // rslt = 0
  832. // GOTO ext
  833. END IF
  834. dw_uc.Object.u_bmstamt_banktypeid[dw_uc.GetRow()] = ll_banktypeid_new
  835. //设置明细
  836. SELECT U_Bmstpay.payid
  837. into :ll_takeid
  838. from U_Bmstpay
  839. where U_Bmstpay.billcode = :ls_inwarecode;
  840. IF sqlca.SQLCode <> 0 THEN
  841. arg_msg = '查询相关订单失败'
  842. rslt = 0
  843. GOTO ext
  844. END IF
  845. dw_child.Object.takeid[dw_uc.GetRow()] = ll_takeid
  846. wf_ue_f7_getmx(ll_scid,ll_takeid,arg_msg)
  847. ext:
  848. dw_uc.SetRedraw(True)
  849. dw_uc.SetColumn("accountid")
  850. return
  851. end subroutine
  852. public subroutine wf_ue_f7_getmx (integer arg_scid, integer arg_takeid, string arg_msg);decimal lde_msttakeamt,lde_takeamt
  853. SELECT mstpayamt,
  854. payamt
  855. INTO :lde_msttakeamt,
  856. :lde_takeamt
  857. From U_Bmstpay
  858. where U_Bmstpay.scid = :arg_scid
  859. and U_Bmstpay.payid = :arg_takeid;
  860. If sqlca.SQLCode <> 0 Then
  861. arg_msg = '查询订单的金额失败'
  862. Return
  863. End If
  864. //设置明细
  865. dw_child.Object.msttakeamt[dw_child.GetRow()] = lde_msttakeamt
  866. dw_child.Object.takeamt[dw_child.GetRow()] = lde_takeamt
  867. dw_child.Object.ttakeamt[dw_child.GetRow()] = dw_child.Object.untakeamt[dw_child.GetRow()]
  868. dw_uc.Object.bmstamt[dw_uc.GetRow()] = dw_child.Object.untakeamt[dw_child.GetRow()]
  869. end subroutine
  870. on w_bmstamt_spt_edit.create
  871. int iCurrent
  872. call super::create
  873. this.ddlb_status=create ddlb_status
  874. this.ddlb_scid=create ddlb_scid
  875. this.st_3=create st_3
  876. this.st_2=create st_2
  877. this.cbx_1=create cbx_1
  878. iCurrent=UpperBound(this.Control)
  879. this.Control[iCurrent+1]=this.ddlb_status
  880. this.Control[iCurrent+2]=this.ddlb_scid
  881. this.Control[iCurrent+3]=this.st_3
  882. this.Control[iCurrent+4]=this.st_2
  883. this.Control[iCurrent+5]=this.cbx_1
  884. end on
  885. on w_bmstamt_spt_edit.destroy
  886. call super::destroy
  887. destroy(this.ddlb_status)
  888. destroy(this.ddlb_scid)
  889. destroy(this.st_3)
  890. destroy(this.st_2)
  891. destroy(this.cbx_1)
  892. end on
  893. event ue_usual_query_retr;call super::ue_usual_query_retr;String ls_querystrpart = ''
  894. ls_newselect = Lower(ori_oldselect)
  895. IF Trim(sle_usual_query.Text) <> '' THEN
  896. IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN
  897. ls_querystrpart = "(u_Bmstamt.BaCode like '%"+Trim(sle_usual_query.Text)+"%')"
  898. ELSE
  899. ls_querystrpart = "(u_Bmstamt.BaCode like '"+Trim(sle_usual_query.Text)+"')"
  900. END IF
  901. IF Pos(ls_newselect," where ") <> 0 THEN
  902. ls_newselect = ls_newselect+" and ("+ls_querystrpart+')'
  903. ELSE
  904. ls_newselect = ls_newselect+" where ("+ls_querystrpart+')'
  905. END IF
  906. END IF
  907. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  908. THIS.TriggerEvent('retrieve_pageretr')
  909. end event
  910. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  911. if trim(sle_usual_query.text)<>'' then
  912. if pos(trim(sle_usual_query.text),'%')=0 then
  913. obj_expr=obj_expr+'( u_Bmstamt_BaCode like "%'+trim(sle_usual_query.text)+'%" )'
  914. else
  915. obj_expr=obj_expr+'( u_Bmstamt_BaCode like "'+trim(sle_usual_query.text)+'" )'
  916. end if
  917. end if
  918. dw_pageretr.setfilter(obj_expr)
  919. dw_pageretr.setredraw(false)
  920. dw_pageretr.filter()
  921. if dw_pageretr.rowcount()>=1 then
  922. dw_pageretr.selectrow(0,false)
  923. dw_pageretr.selectrow(1,true)
  924. end if
  925. dw_pageretr.setredraw(true)
  926. end event
  927. event close;call super::close;destroy uo_take
  928. end event
  929. event open;call super::open;uc_column_int = 15 //uc dw前6列可以编辑
  930. child_column_int = 6
  931. uo_take = CREATE uo_bmstamt
  932. IF s_tran.d_long = 1 THEN
  933. cur_scid = s_tran.c_long
  934. Int li_item
  935. li_item = ddlb_scid.FindItem(s_tran.d_string,0)
  936. IF li_item > 0 THEN
  937. ddlb_scid.SelectItem(li_item)
  938. END IF
  939. String arg_msg
  940. cb_add.TriggerEvent(Clicked!)
  941. IF dw_uc.GetRow() > 0 THEN
  942. IF s_tran.e_long > 0 THEN
  943. String ls_cuscode,ls_cusname
  944. SELECT cuscode,name
  945. INTO :ls_cuscode,:ls_cusname
  946. FROM u_cust
  947. Where cusid = :s_tran.e_long;
  948. IF sqlca.SQLCode = 0 THEN
  949. dw_uc.Object.cusid[dw_uc.GetRow()] = s_tran.e_long
  950. dw_uc.Object.u_cust_name[dw_uc.GetRow()] = ls_cusname
  951. dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()] = ls_cuscode
  952. END IF
  953. END IF
  954. END IF
  955. END IF
  956. end event
  957. event refresh_interface;call super::refresh_interface;ddlb_status.Enabled = NOT dw_edit_mode
  958. ddlb_scid.Enabled = NOT dw_edit_mode
  959. cb_auditing.Enabled = NOT dw_edit_mode
  960. cb_auditing_cancel.Enabled = NOT dw_edit_mode
  961. end event
  962. event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled
  963. Boolean cb_func_enabled,cb_retrieve_enabled
  964. cb_nextpage_enabled = cb_nextpage.Enabled
  965. cb_retrieveall_enabled = cb_retrieveall.Enabled
  966. cb_func_enabled = cb_func.Enabled
  967. cb_nextpage.Enabled = False
  968. cb_retrieveall.Enabled = False
  969. cb_func.Enabled = False
  970. datawindowchild childdw
  971. dw_uc.SetTransObject (sqlca)
  972. dw_uc.GetChild("accountid",childdw)
  973. childdw.SetTransObject (sqlca)
  974. IF childdw.Retrieve(sys_user_account) = 0 THEN
  975. childdw.InsertRow(0)
  976. END IF
  977. Int li_ifspttype
  978. IF sys_power_issuper THEN
  979. li_ifspttype = 0
  980. ELSE
  981. li_ifspttype = 1
  982. END IF
  983. dw_uc.Retrieve() //dw_uc的dw改左select top 0 并肯不带参数
  984. dw_pageretr.Retrieve(cur_scid,cur_flag,cur_secflag,cur_confirmflag,li_ifspttype,sys_user_spttype)
  985. IF dw_pageretr.RowCount() > 0 THEN
  986. dw_pageretr.SetRow(1)
  987. dw_pageretr.TriggerEvent(RowFocusChanged!)
  988. END IF
  989. wf_flagstatus_rf()
  990. This.TriggerEvent('retrieve_childdw')
  991. cb_nextpage.Enabled = cb_nextpage_enabled
  992. cb_retrieveall.Enabled = cb_retrieveall_enabled
  993. cb_func.Enabled = cb_func_enabled
  994. end event
  995. event ue_f9;call super::ue_f9;//用于选择明细内容,被F9[默认]
  996. IF Not dw_edit_mode THEN RETURN
  997. Long uc_row
  998. uc_row = dw_uc.GetRow()
  999. IF uc_row = 0 THEN
  1000. MessageBox('提示','请选定进仓单!',information!,ok!)
  1001. RETURN
  1002. END IF
  1003. dw_uc.AcceptText()
  1004. IF NOT IsValid(w_spt_edit) THEN
  1005. s_edit_index_tran s_ch_tran //传递参数使用
  1006. s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  1007. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  1008. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  1009. //查询列(物料编码)部分内容,用于初步筛选
  1010. dw_uc.AcceptText()
  1011. s_ch_tran.arg_string_code = Upper(Trim(dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()]))
  1012. OpenWithParm(w_spt_edit,s_ch_tran) //调用
  1013. s_spt S_INSCUST
  1014. S_INSCUST = Message.PowerObjectParm //接受返回结构
  1015. IF S_INSCUST.sptid > 0 THEN //正常返回值则可以取以下值
  1016. dw_uc.SetRedraw(False)
  1017. dw_uc.Object.cusid[uc_row] = S_INSCUST.sptid
  1018. dw_uc.Object.u_spt_sptcode[uc_row] = S_INSCUST.sptcode
  1019. dw_uc.Object.u_spt_name[uc_row] = S_INSCUST.Name
  1020. // dw_uc.Object.u_Bmstamt_BaRep[uc_row] = S_INSCUST.bsntype
  1021. dw_uc.Object.u_spt_rep[uc_row] = S_INSCUST.rep
  1022. //dw_uc.Object.u_bmstamt_banktypeid[uc_row] = S_INSCUST.dftbanktypeid
  1023. dw_uc.Object.u_bmstamt_moneyid[uc_row] = S_INSCUST.dftmoneyid
  1024. dw_uc.Object.u_bmstamt_mrate[uc_row] = f_get_mrate(S_INSCUST.dftmoneyid)
  1025. dw_uc.SetRedraw(True)
  1026. dw_uc.SetColumn("BaDate")
  1027. END IF
  1028. END IF
  1029. end event
  1030. event ue_viewprint;call super::ue_viewprint;
  1031. Long LS_ROW
  1032. LS_ROW = dw_pageretr.GetRow()
  1033. IF LS_ROW <= 0 THEN
  1034. MessageBox('提示','没有打印目标单据!',information!,ok!)
  1035. RETURN
  1036. END IF
  1037. S_print_MSG LS_PRMSG
  1038. IF ls_newname <> '' THEN
  1039. IF Not f_power_ind(ls_powerid) THEN
  1040. MessageBox(publ_operator,'你没有使用权限!')
  1041. RETURN
  1042. END IF
  1043. IF li_auditprint = 1 THEN
  1044. IF dw_pageretr.Object.u_Bmstamt_flag[dw_pageretr.GetRow()] = 0 THEN
  1045. MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!)
  1046. RETURN
  1047. END IF
  1048. END IF
  1049. LS_PRMSG.obj_dwNAME = ls_newname
  1050. ELSE
  1051. IF Not f_power_ind(1761) THEN
  1052. MessageBox('提示','你没有使用权限!',information!,ok!)
  1053. RETURN
  1054. END IF
  1055. LS_PRMSG.obj_dwNAME = 'dw_rp_Bmstamt_spt_edit'
  1056. END IF
  1057. IF LS_PRMSG.obj_dwNAME = '' THEN RETURN
  1058. LS_PRMSG.printrow = ll_prownum
  1059. LS_PRMSG.TAG_TEXT = '应商付款结算单'
  1060. LS_PRMSG.FILTER_STRING = ''
  1061. LS_PRMSG.retr_pram_falg = 2
  1062. LS_PRMSG.PAGECH_FLAG = 0
  1063. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_Bmstamt_Baid[LS_ROW]
  1064. LS_PRMSG.rowcnt = dw_child.RowCount()
  1065. OpenWithParm(w_publ_preview,LS_PRMSG)
  1066. //**更新打印次料
  1067. String arg_msg
  1068. printnum = Message.DoubleParm
  1069. Long ll_scid
  1070. ll_scid = dw_pageretr.Object.u_Bmstamt_scid[dw_pageretr.GetRow()]
  1071. f_update_printnum('u_Bmstamt',printnum,ll_scid,dw_pageretr.Object.u_Bmstamt_Baid[LS_ROW],'','',arg_msg,True)
  1072. end event
  1073. event ue_print;call super::ue_print;//--直接打印
  1074. uo_print_preview uo_print
  1075. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1076. S_print_MSG LS_PRMSG
  1077. Long LS_ROW
  1078. LS_ROW = dw_pageretr.GetRow()
  1079. IF LS_ROW <= 0 THEN
  1080. MessageBox('提示','没有打印目标单据!',information!,OK!)
  1081. RETURN
  1082. END IF
  1083. IF ls_newname <> '' THEN
  1084. IF Not f_power_ind(ls_powerid) THEN
  1085. MessageBox(publ_operator,'你没有使用权限!')
  1086. RETURN
  1087. END IF
  1088. IF li_auditprint = 1 THEN
  1089. IF dw_pageretr.Object.u_Bmstamt_flag[dw_pageretr.GetRow()] = 0 THEN
  1090. MessageBox('提示','目标单据还未审核,不能打印!',information!,OK!)
  1091. RETURN
  1092. END IF
  1093. END IF
  1094. LS_PRMSG.obj_dwNAME = ls_newname
  1095. ELSE
  1096. IF Not f_power_ind(1761) THEN
  1097. MessageBox('提示','你没有使用权限!',information!,OK!)
  1098. RETURN
  1099. END IF
  1100. LS_PRMSG.obj_dwNAME = 'dw_rp_Bmstamt_spt_edit'
  1101. END IF
  1102. IF LS_PRMSG.obj_dwNAME = '' THEN RETURN
  1103. LS_PRMSG.retr_pram_falg = 2
  1104. LS_PRMSG.printrow = ll_prownum
  1105. LS_PRMSG.TAG_TEXT = This.Title
  1106. LS_PRMSG.FILTER_STRING = ''
  1107. LS_PRMSG.PAGECH_FLAG = 0
  1108. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_Bmstamt_Baid[LS_ROW]
  1109. LS_PRMSG.rowcnt = dw_child.RowCount()
  1110. uo_print.FACT_PRINT_MSG = LS_PRMSG
  1111. String arg_msg
  1112. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  1113. MessageBox("错误",arg_msg,stopsign!,OK!)
  1114. RETURN
  1115. END IF
  1116. uo_print.ds_print()
  1117. //**更新打印次料
  1118. printnum = 1
  1119. Long ll_scid
  1120. ll_scid = dw_pageretr.Object.u_Bmstamt_scid[dw_pageretr.GetRow()]
  1121. f_update_printnum('u_Bmstamt',printnum,ll_scid,dw_pageretr.Object.u_Bmstamt_Baid[LS_ROW],'','',arg_msg,True)
  1122. end event
  1123. event ue_f7;call super::ue_f7;//用于选择明细内容,被F9[默认]
  1124. IF NOT dw_edit_mode THEN RETURN
  1125. Long uc_row
  1126. String ls_itemcode
  1127. uc_row = dw_uc.GetRow()
  1128. ls_itemcode = Trim(dw_uc.Object.u_itemdef_itemcode[uc_row])
  1129. IF uc_row = 0 THEN
  1130. MessageBox('提示','请选定单据!',information!,ok!)
  1131. RETURN
  1132. END IF
  1133. dw_uc.AcceptText()
  1134. IF NOT IsValid(w_itemdef_response) THEN
  1135. s_edit_index_tran s_ch_tran //传递参数使用
  1136. s_ch_tran.if_retrieve_all = local_retrieve_all //是否一次retrieve所有行
  1137. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  1138. s_ch_tran.arg_pkid = 0 //目标定位pkid (备用)
  1139. s_ch_tran.arg_string_code = ls_itemcode //查询列(物料编码)部分内容,用于初步筛选
  1140. OpenWithParm(w_itemdef_response,s_ch_tran) //调用
  1141. s_itemdef s_inscust
  1142. s_inscust = Message.PowerObjectParm //接受返回结构
  1143. IF s_inscust.itemid > 0 THEN //正常返回值则可以取以下值
  1144. dw_uc.SetRedraw(FALSE)
  1145. dw_uc.Object.u_Bmstamt_itemid[uc_row] = s_inscust.itemid
  1146. dw_uc.Object.u_itemdef_itemcode[uc_row] = s_inscust.itemcode
  1147. dw_uc.Object.u_itemdef_itemname[uc_row] = s_inscust.itemname
  1148. dw_uc.SetColumn("dscrp")
  1149. dw_uc.SetRedraw(TRUE)
  1150. END IF
  1151. END IF
  1152. end event
  1153. event resize;call super::resize;//ln_bar.EndX = THIS.Width
  1154. //ln_bar2.EndX = THIS.Width
  1155. //ln_1.EndX = THIS.Width
  1156. //ln_2.EndX = THIS.Width
  1157. //r_bar.Width = THIS.Width
  1158. //
  1159. //Long w_width,w_height
  1160. //w_width = 3600
  1161. //w_height = 2300
  1162. //
  1163. //IF newwidth < w_width THEN THIS.Width = w_width
  1164. //IF newheight < w_height THEN THIS.Height = w_height
  1165. //
  1166. //dw_pageretr.Width = THIS.Width - (w_width - dw_pageretr_w)
  1167. //dw_pageretr.Height = THIS.Height - (w_height - dw_pageretr_h) - 60
  1168. //
  1169. //dw_child.Height = THIS.Height - (w_height - dw_child_h)- 60
  1170. //
  1171. //
  1172. //this.triggerevent('resize_p')
  1173. end event
  1174. event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid
  1175. row = dw_pageretr.GetRow()
  1176. IF row > 0 THEN
  1177. uc_relid = dw_pageretr.Object.u_Bmstamt_Baid[row]
  1178. dw_child.SetRedraw (FALSE)
  1179. dw_child.Retrieve(uc_relid)
  1180. dw_child.SetRedraw (TRUE)
  1181. ELSE
  1182. dw_child.Reset()
  1183. END IF
  1184. end event
  1185. event ue_rpt_viewprint;call super::ue_rpt_viewprint;
  1186. Long row,uc_relid,ll_scid
  1187. row = dw_pageretr.GetRow()
  1188. IF row = 0 THEN RETURN
  1189. IF ls_rpname = '' THEN RETURN
  1190. IF li_auditprint = 1 THEN
  1191. IF dw_pageretr.Object.u_Bmstamt_flag[row] = 0 THEN
  1192. MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!)
  1193. RETURN
  1194. END IF
  1195. END IF
  1196. s_rpt_print_msg s_print
  1197. s_print.retr_pram_falg = 2
  1198. s_print.rpid = ls_msgprintid_rpt
  1199. s_print.retr_flag = TRUE
  1200. s_print.tag_text = THIS.Title
  1201. s_print.rpname = ls_rpname
  1202. s_print.retr_pramnmb = dw_pageretr.Object.u_Bmstamt_Baid[row]
  1203. s_print.rowcnt = dw_child.RowCount()
  1204. OpenWithParm(w_rpt_preview,s_print)
  1205. //**更新打印次料
  1206. String arg_msg
  1207. printnum = Message.DoubleParm
  1208. String ls_code
  1209. ll_scid = 0
  1210. ls_code = dw_pageretr.Object.u_Bmstamt_BaCode[row]
  1211. f_update_printnum('u_Bmstamt',printnum,ll_scid,dw_pageretr.Object.u_Bmstamt_Baid[ROW],'','',arg_msg,TRUE)
  1212. //f_update_printnum(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE)
  1213. end event
  1214. event ue_rpt_print;call super::ue_rpt_print;Long row,uc_relid,ll_scid
  1215. row = dw_pageretr.GetRow()
  1216. IF row = 0 THEN RETURN
  1217. uo_rpt_print_preview uo_print
  1218. S_rpt_print_MSG LS_PRMSG
  1219. IF dw_pageretr.RowCount() = 0 THEN
  1220. MessageBox('提示','没有可打印的单据!',information!,ok!)
  1221. RETURN
  1222. END IF
  1223. IF ls_rpname = '' THEN RETURN
  1224. IF li_auditprint = 1 THEN
  1225. IF dw_pageretr.Object.u_Bmstamt_flag[row] = 0 THEN
  1226. MessageBox('提示','目标单据还未审核,不能打印!',information!,ok!)
  1227. RETURN
  1228. END IF
  1229. END IF
  1230. IF MessageBox ("询问","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1231. LS_PRMSG.retr_pram_falg = 2
  1232. LS_PRMSG.TAG_TEXT = THIS.Title
  1233. LS_PRMSG.rpname = ls_rpname
  1234. LS_PRMSG.FILTER_STRING = ''
  1235. LS_PRMSG.PAGECH_FLAG = 0
  1236. LS_PRMSG.rpid = ls_msgprintid_rpt
  1237. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_Bmstamt_Baid[row]
  1238. LS_PRMSG.rowcnt = dw_child.RowCount()
  1239. uo_print.FACT_PRINT_MSG = LS_PRMSG
  1240. String arg_msg
  1241. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  1242. MessageBox("错误",arg_msg,stopsign!,ok!)
  1243. RETURN
  1244. END IF
  1245. uo_print.ds_print()
  1246. //**更新打印次料
  1247. printnum = Message.DoubleParm
  1248. String ls_code
  1249. ll_scid = 0
  1250. ls_code = dw_pageretr.Object.u_Bmstamt_BaCode[row]
  1251. f_update_printnum('u_Bmstamt',printnum,ll_scid,dw_pageretr.Object.u_Bmstamt_Baid[ROW],'','',arg_msg,TRUE)
  1252. //f_update_printnum(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE)
  1253. end event
  1254. event ue_addzy;call super::ue_addzy;IF NOT f_power_ind(1760) THEN
  1255. MessageBox('提示','你没有使用权限!',information!,ok!)
  1256. RETURN
  1257. END IF
  1258. IF dw_edit_mode THEN RETURN
  1259. String arg_msg = '',LS_STR
  1260. Long uc_row
  1261. s_inputbox S_SREU
  1262. uc_row = dw_pageretr.GetRow()
  1263. IF uc_row <= 0 THEN
  1264. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  1265. RETURN
  1266. END IF
  1267. S_SREU.Title = '请输入要补充到备注的内容'
  1268. S_SREU.OLD_TEXT = ''
  1269. OpenWithParm(w_inputbox,S_SREU)
  1270. LS_STR = Message.StringParm
  1271. IF Trim(LS_STR) = '' OR IsNull(LS_STR) THEN RETURN
  1272. IF uo_take.add_dscrp(dw_pageretr.Object.u_Bmstamt_Baid[uc_row],LS_STR,arg_msg,TRUE) = 0 THEN
  1273. MessageBox('错误',arg_msg,information!,ok!)
  1274. RETURN
  1275. ELSE
  1276. MessageBox('提示','添加备注操作成功!',information!,ok!)
  1277. wf_refresh_curuc(dw_pageretr.Object.u_Bmstamt_Baid[uc_row])
  1278. END IF
  1279. end event
  1280. event ue_f8;call super::ue_f8;//用于选择明细内容,被F8[默认]\dw_child.doubleclicked调用
  1281. IF Not dw_edit_mode THEN RETURN
  1282. Long child_row
  1283. Long ll_sptid, ll_scid, ll_moneyid
  1284. dw_uc.AcceptText()
  1285. IF dw_uc.GetRow() = 0 THEN RETURN
  1286. ll_scid = dw_uc.Object.scid[dw_uc.GetRow()]
  1287. ll_sptid = dw_uc.Object.cusid[dw_uc.GetRow()]
  1288. IF IsNull(ll_sptid) Or ll_sptid = 0 THEN
  1289. This.TriggerEvent("ue_f9")
  1290. ll_sptid = dw_uc.Object.cusid[dw_uc.GetRow()]
  1291. IF IsNull(ll_sptid) Or ll_sptid = 0 THEN
  1292. MessageBox('提示','请选择供应商', Information!, OK! )
  1293. RETURN
  1294. END IF
  1295. END IF
  1296. ll_moneyid = dw_uc.Object.u_Bmstamt_moneyid[dw_uc.GetRow()]
  1297. IF ll_moneyid = 0 THEN
  1298. MessageBox('提示','请选择币种', Information!, OK! )
  1299. RETURN
  1300. END IF
  1301. child_row = dw_child.GetRow()
  1302. IF Not IsValid(w_mustpay_ch) THEN
  1303. s_edit_index_tran s_tranf8 //传递参数使用
  1304. s_tranf8.if_retrieve_all = local_retrieve_all //是否一次RETRIEVE所有行
  1305. s_tranf8.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  1306. s_tranf8.arg_pkid = ll_sptid //目标定位PKID (备用)
  1307. s_tranf8.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  1308. s_tranf8.if_select_all = True //多选
  1309. s_tranf8.b_long = ll_scid //分部
  1310. s_tranf8.c_long = ll_sptid //供应商
  1311. s_tranf8.d_long = ll_moneyid //币种
  1312. Long chc = 1,ls_j
  1313. IF dw_child.GetRow() > 0 THEN s_tranf8.arg_string_code = Trim(dw_child.Object.billcode[dw_child.GetRow()])
  1314. OpenWithParm(w_mustpay_ch,s_tranf8) //调用
  1315. s_bmstpay_arr S_INSCUST
  1316. S_INSCUST = Message.PowerObjectParm //接受返回结构
  1317. FOR ls_j = 1 To UpperBound(S_INSCUST.payid)
  1318. IF S_INSCUST.payid[ls_j] > 0 THEN //正常返回值则可以取以下值
  1319. IF dw_child.GetRow() > 0 THEN
  1320. IF dw_child.Object.takeid[child_row] <> 0 THEN
  1321. child_row = dw_child.InsertRow (0)
  1322. ELSE
  1323. child_row = dw_child.GetRow()
  1324. END IF
  1325. ELSE
  1326. child_row = dw_child.InsertRow (0)
  1327. END IF
  1328. dw_child.Object.takeid[child_row] = S_INSCUST.payid[ls_j]
  1329. // dw_child.Object.billid [child_row] = S_INSCUST.billid[ls_j]
  1330. dw_child.Object.billcode [child_row] = S_INSCUST.billcode[ls_j]
  1331. dw_child.Object.relcode[child_row] = S_INSCUST.relcode[ls_j]
  1332. dw_child.Object.takedate[child_row] = S_INSCUST.paydate[ls_j]
  1333. dw_child.Object.msttakeamt[child_row] = S_INSCUST.mstpayamt[ls_j]
  1334. dw_child.Object.takeamt[child_row] = S_INSCUST.payamt[ls_j]
  1335. END IF
  1336. NEXT
  1337. dw_child.SetColumn('ttakeamt')
  1338. dw_child.SetFocus()
  1339. This.TriggerEvent('ue_allowedit')
  1340. END IF
  1341. end event
  1342. event ue_f10;call super::ue_f10;//用于选择明细内容,被F10[默认]
  1343. If Not dw_edit_mode Then Return
  1344. Long uc_row
  1345. Long ll_rst_accountsid,ll_accountid,ll_moneyid,ll_moneyid_account
  1346. uc_row = dw_uc.GetRow()
  1347. If uc_row = 0 Then
  1348. MessageBox('系统提示','请选定单据!')
  1349. Return
  1350. End If
  1351. dw_uc.AcceptText()
  1352. If Not IsValid(w_accounts_ch) Then
  1353. s_edit_index_tran s_ch_tran //传递参数使用
  1354. s_ch_tran.if_retrieve_all = True //是否一次retrieve所有行
  1355. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  1356. s_ch_tran.arg_pkid = 0 //目标定位pkid (备用)
  1357. s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  1358. OpenWithParm(w_accounts_ch,s_ch_tran) //调用
  1359. ll_rst_accountsid = Message.DoubleParm //接受返回结构
  1360. If ll_rst_accountsid > 0 Then //正常返回值则可以取以下值
  1361. dw_uc.SetRedraw(False)
  1362. ll_moneyid = dw_uc.Object.u_bmstamt_moneyid[uc_row]
  1363. dw_uc.Object.accountid[uc_row] = ll_rst_accountsid
  1364. Select moneyid Into :ll_moneyid_account
  1365. From u_accounts
  1366. Where accountsid = :ll_rst_accountsid;
  1367. If sqlca.SQLCode <> 0 Then
  1368. ll_moneyid_account = 0
  1369. Return
  1370. End If
  1371. dw_uc.Object.u_accounts_moneyid[uc_row] = ll_moneyid_account
  1372. If ll_moneyid = ll_moneyid_account Then
  1373. dw_uc.Object.u_bmstamt_mrate[uc_row] = 1
  1374. Else
  1375. dw_uc.Object.u_bmstamt_mrate[dw_uc.GetRow()] = f_get_mrate(ll_moneyid)
  1376. End If
  1377. dw_uc.SetColumn("accountid")
  1378. dw_uc.SetRedraw(True)
  1379. End If
  1380. End If
  1381. end event
  1382. type cb_func from w_publ_1ton_share_detail`cb_func within w_bmstamt_spt_edit
  1383. end type
  1384. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_bmstamt_spt_edit
  1385. end type
  1386. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_bmstamt_spt_edit
  1387. integer x = 197
  1388. integer width = 549
  1389. end type
  1390. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_bmstamt_spt_edit
  1391. integer x = 3378
  1392. integer width = 142
  1393. end type
  1394. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_bmstamt_spt_edit
  1395. integer x = 3077
  1396. end type
  1397. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_bmstamt_spt_edit
  1398. event dwnkey pbm_dwnkey
  1399. integer x = 1829
  1400. integer width = 1719
  1401. integer height = 1664
  1402. string dataobject = "dw_bmstamt_spt_index"
  1403. boolean rbutton_filter_use = true
  1404. boolean titleclick_sort_use = true
  1405. end type
  1406. event dw_pageretr::dwnkey;call super::dwnkey;//int i = 0
  1407. end event
  1408. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf()
  1409. end event
  1410. type st_1 from w_publ_1ton_share_detail`st_1 within w_bmstamt_spt_edit
  1411. integer x = 14
  1412. end type
  1413. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_bmstamt_spt_edit
  1414. integer x = 3520
  1415. end type
  1416. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_bmstamt_spt_edit
  1417. integer width = 1819
  1418. integer height = 1656
  1419. string dataobject = "dw_bmstamt_spt_edit"
  1420. end type
  1421. event dw_uc::dwnkey;Parent.TriggerEvent('user_key')
  1422. IF Key = KeyDownArrow! THEN RETURN 1
  1423. IF dw_edit_mode THEN
  1424. IF Key = KeyEnter! THEN
  1425. IF dw_uc.GetColumnName ( ) = 'dscrp' THEN
  1426. // dw_child.ScrollToRow(1)
  1427. // dw_child.SetFocus()
  1428. // dw_child.SetColumn ('ttakeamt')
  1429. // RETURN 1
  1430. ELSEIF dw_uc.GetColumnName ( ) = 'u_spt_sptcode' THEN
  1431. String ls_code,ls_name,ls_rep
  1432. Long ls_sptid
  1433. dw_uc.AcceptText()
  1434. ls_code = Upper(Trim(dw_uc.Object.u_spt_sptcode[dw_uc.GetRow()]))
  1435. SELECT sptid, name, rep
  1436. INTO :ls_sptid,:ls_name, :ls_rep
  1437. FROM u_spt
  1438. Where charindex(:ls_code,sptcode)>0 or charindex(:ls_code,name)>0;
  1439. IF sqlca.SQLCode <> 0 THEN
  1440. Parent.TriggerEvent('ue_f9')
  1441. RETURN 1
  1442. ELSE
  1443. dw_uc.SetRedraw(False)
  1444. dw_uc.Object.cusid[dw_uc.GetRow()] = ls_sptid
  1445. dw_uc.Object.u_spt_name[dw_uc.GetRow()] = ls_name
  1446. dw_uc.Object.u_spt_rep[dw_uc.GetRow()] = ls_rep
  1447. dw_uc.SetRedraw(True)
  1448. dw_uc.SetColumn("u_Bmstamt_banktypeid")
  1449. RETURN 1
  1450. END IF
  1451. ELSEIF dw_uc.GetColumnName ( ) = 'u_itemdef_itemcode' THEN
  1452. String ls_itemcode,ls_itemname
  1453. Long ls_itemid
  1454. dw_uc.AcceptText()
  1455. ls_itemcode = Upper(Trim(dw_uc.Object.u_itemdef_itemcode[dw_uc.GetRow()]))
  1456. SELECT
  1457. u_itemdef.itemid,
  1458. u_itemdef.itemname
  1459. Into
  1460. :ls_itemid,
  1461. :ls_itemname
  1462. From u_itemdef
  1463. Where ( u_itemdef.itemcode = :ls_itemcode );
  1464. IF sqlca.SQLCode <> 0 THEN
  1465. Parent.TriggerEvent('ue_f7')
  1466. RETURN 1
  1467. ELSE
  1468. dw_uc.SetRedraw(False)
  1469. dw_uc.Object.u_Bmstamt_itemid[dw_uc.GetRow()] = ls_itemid
  1470. dw_uc.Object.u_itemdef_itemname[dw_uc.GetRow()] = ls_itemname
  1471. dw_uc.SetRedraw(True)
  1472. dw_uc.SetColumn("dscrp")
  1473. RETURN 1
  1474. END IF
  1475. ELSE
  1476. IF Key = KeyEnter! and dw_uc.GetColumnName ( ) <> 'dscrp' THEN //
  1477. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1478. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1479. RETURN 1
  1480. END IF
  1481. END IF
  1482. END IF
  1483. END IF
  1484. end event
  1485. event dw_uc::doubleclicked;If dw_edit_mode And row > 0 Then
  1486. If dwo.Name = 'u_itemdef_itemcode' Or dwo.Name = 'u_itemdef_itemname' Then
  1487. Parent.TriggerEvent('ue_f7')
  1488. ElseIf dwo.Name = 'accountid' Then
  1489. Parent.TriggerEvent('ue_f10')
  1490. Else
  1491. Parent.TriggerEvent('ue_f9')
  1492. End If
  1493. End If
  1494. end event
  1495. event dw_uc::itemchanged;call super::itemchanged;IF Not dw_edit_mode THEN RETURN
  1496. This.AcceptText()
  1497. Long ll_moneyid_account,ll_moneyid
  1498. Long ll_accountid
  1499. IF dwo.Name = 'accountid' THEN
  1500. This.SetRedraw(False)
  1501. // THIS.Object.accountid[row] > 0
  1502. ll_accountid = This.Object.accountid[row]
  1503. ll_moneyid = This.Object.u_Bmstamt_moneyid[row]
  1504. SELECT moneyid INTO :ll_moneyid_account
  1505. FROM u_accounts
  1506. Where accountsid = :ll_accountid;
  1507. IF sqlca.SQLCode <> 0 THEN
  1508. ll_moneyid_account = 0
  1509. RETURN
  1510. END IF
  1511. This.Object.u_accounts_moneyid[row] = ll_moneyid_account
  1512. IF ll_moneyid = 0 THEN
  1513. This.Object.u_Bmstamt_moneyid[row] = ll_moneyid_account
  1514. ll_moneyid = ll_moneyid_account
  1515. END IF
  1516. // IF ll_moneyid = ll_moneyid_account THEN
  1517. // THIS.Object.u_Bmstamt_mrate[row] = 1
  1518. // ELSE
  1519. This.Object.u_Bmstamt_mrate[row] = f_get_mrate(ll_moneyid)
  1520. // END IF
  1521. This.SetRedraw(True)
  1522. ELSEIF dwo.Name = 'u_Bmstamt_moneyid' THEN
  1523. ll_moneyid = This.Object.u_Bmstamt_moneyid[row]
  1524. This.Object.u_Bmstamt_mrate[row] = f_get_mrate(ll_moneyid)
  1525. elseif dwo.name = 'u_bmstamt_banktypeid' then
  1526. END IF
  1527. //If (dwo.Name = 'u_Bmstamt_moneyid' OR dwo.Name = 'accountid') AND THIS.Object.accountid[row] > 0 THEN
  1528. // THIS.SetRedraw(FALSE)
  1529. //
  1530. // ll_accountid = THIS.Object.accountid[row]
  1531. // ll_moneyid = THIS.Object.u_Bmstamt_moneyid[row]
  1532. //
  1533. //
  1534. // SELECT moneyid INTO :ll_moneyid_account
  1535. // FROM u_accounts
  1536. // Where accountsid = :ll_accountid;
  1537. // IF sqlca.SQLCode <> 0 THEN
  1538. // ll_moneyid_account = 0
  1539. // RETURN
  1540. // END IF
  1541. //
  1542. // THIS.Object.u_accounts_moneyid[row] = ll_moneyid_account
  1543. //
  1544. //// if ll_moneyid = 0 then
  1545. //// THIS.Object.u_Bmstamt_moneyid[row] = ll_moneyid_account
  1546. //// ll_moneyid = ll_moneyid_account
  1547. //// end if
  1548. //
  1549. // IF ll_moneyid = ll_moneyid_account THEN
  1550. // THIS.Object.u_Bmstamt_mrate[row] = 1
  1551. // ELSE
  1552. // THIS.Object.u_Bmstamt_mrate[dw_uc.GetRow()] = f_get_mrate(ll_moneyid)
  1553. // END IF
  1554. //
  1555. // THIS.SetRedraw(TRUE)
  1556. //END IF
  1557. end event
  1558. event dw_uc::buttonclicked;call super::buttonclicked;IF dw_edit_mode AND row > 0 THEN
  1559. IF dwo.Name = 'b_p_cmpl' THEN
  1560. PARENT.TriggerEvent('ue_p_cmpl')
  1561. END IF
  1562. END IF
  1563. end event
  1564. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_bmstamt_spt_edit
  1565. integer x = 1358
  1566. integer y = 332
  1567. integer width = 311
  1568. integer height = 1104
  1569. end type
  1570. type dw_child from w_publ_1ton_share_detail`dw_child within w_bmstamt_spt_edit
  1571. integer y = 1960
  1572. integer width = 3131
  1573. integer height = 332
  1574. string title = "付款对单明细内容"
  1575. string dataobject = "dw_bmstamtmx_spt_edit"
  1576. end type
  1577. event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
  1578. end event
  1579. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_bmstamt_spt_edit
  1580. end type
  1581. type cb_print from w_publ_1ton_share_detail`cb_print within w_bmstamt_spt_edit
  1582. end type
  1583. type cb_add from w_publ_1ton_share_detail`cb_add within w_bmstamt_spt_edit
  1584. end type
  1585. event cb_add::clicked;IF Not f_power_ind(1752) THEN
  1586. MessageBox('提示','你没有使用权限!',information!,ok!)
  1587. RETURN
  1588. END IF
  1589. String arg_msg = ''
  1590. Long uc_row, i, ll_printid
  1591. s_bmstamtmx s_mx
  1592. IF dw_edit_mode THEN
  1593. dw_uc.AcceptText()
  1594. dw_child.AcceptText()
  1595. uc_row = dw_uc.GetRow()
  1596. IF uc_row <= 0 THEN
  1597. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  1598. RETURN
  1599. END IF
  1600. IF Not dw_uc.Object.BaDate[uc_row] > DateTime(2000-01-01,Now()) THEN
  1601. MessageBox('提示','不合理日期',information!,ok!)
  1602. dw_uc.SetFocus()
  1603. dw_uc.SetColumn('BaDate')
  1604. RETURN
  1605. END IF
  1606. IF dw_uc.Object.accountid[uc_row] = 0 THEN
  1607. MessageBox('提示','请选择帐号!',information!,ok!)
  1608. dw_uc.SetFocus()
  1609. dw_uc.SetColumn('accountid')
  1610. RETURN
  1611. END IF
  1612. IF dw_uc.Object.u_Bmstamt_banktypeid[uc_row] = 0 THEN
  1613. MessageBox('提示','请选择结算方式!',information!,ok!)
  1614. dw_uc.SetFocus()
  1615. dw_uc.SetColumn('u_Bmstamt_banktypeid')
  1616. RETURN
  1617. END IF
  1618. IF dw_uc.Object.u_Bmstamt_moneyid[uc_row] = 0 THEN
  1619. MessageBox('提示','请选择币种!',information!,ok!)
  1620. dw_uc.SetFocus()
  1621. dw_uc.SetColumn('u_Bmstamt_moneyid')
  1622. RETURN
  1623. END IF
  1624. IF Trim(dw_uc.Object.u_Bmstamt_BaRep[uc_row]) = '' THEN
  1625. MessageBox('提示','请输入经手人!',information!,ok!)
  1626. dw_uc.SetFocus()
  1627. dw_uc.SetColumn('u_Bmstamt_BaRep')
  1628. RETURN
  1629. END IF
  1630. IF sys_option_msttake_takeamt_secaudit = 0 THEN //
  1631. IF dw_uc.Object.cusid[uc_row] = 0 THEN
  1632. MessageBox('提示','请选择供应商!',information!,ok!)
  1633. dw_uc.SetFocus()
  1634. dw_uc.SetColumn('u_cust_cuscode')
  1635. RETURN
  1636. END IF
  1637. END IF
  1638. uo_take.scid = dw_uc.Object.scid[uc_row]
  1639. uo_take.accountid = dw_uc.Object.accountid[uc_row]
  1640. uo_take.cusid = dw_uc.Object.cusid[uc_row]
  1641. uo_take.Bmstamt = dw_uc.Object.Bmstamt[uc_row]
  1642. uo_take.zqamt = dw_uc.Object.u_Bmstamt_zqamt[uc_row]
  1643. uo_take.dscrp = Trim(dw_uc.Object.dscrp[uc_row])
  1644. uo_take.BaDate = dw_uc.Object.BaDate[uc_row]
  1645. uo_take.banktypeid = dw_uc.Object.u_Bmstamt_banktypeid[uc_row]
  1646. uo_take.itemid = dw_uc.Object.u_Bmstamt_itemid[uc_row]
  1647. uo_take.moneyid = dw_uc.Object.u_Bmstamt_moneyid[uc_row]
  1648. uo_take.mrate = dw_uc.Object.u_Bmstamt_mrate[uc_row]
  1649. uo_take.BaRep = Trim(dw_uc.Object.u_Bmstamt_BaRep[uc_row])
  1650. uo_take.viewdate = dw_uc.Object.u_Bmstamt_viewdate[uc_row]
  1651. uo_take.relcode = dw_uc.Object.u_Bmstamt_relcode[uc_row]
  1652. uo_take.fpcode = dw_uc.Object.u_Bmstamt_fpcode[uc_row]
  1653. uo_take.billtype = 1
  1654. FOR i = 1 To dw_child.RowCount()
  1655. IF dw_child.Object.takeid[i] > 0 THEN
  1656. //ll_printid ++
  1657. s_mx.printid = i //只做行数记录,不是保存的db的printid
  1658. s_mx.takeid = dw_child.Object.takeid[i]
  1659. s_mx.billcode = dw_child.Object.billcode[i]
  1660. s_mx.relcode = dw_child.Object.relcode[i]
  1661. s_mx.msttakeamt = dw_child.Object.msttakeamt[i]
  1662. s_mx.takeamt = dw_child.Object.takeamt[i]
  1663. s_mx.zqamt = dw_child.Object.zqamt[i]
  1664. s_mx.ttakeamt = dw_child.Object.ttakeamt[i]
  1665. s_mx.tzqamt = dw_child.Object.tzqamt[i]
  1666. s_mx.relid = dw_child.Object.relid[i]
  1667. s_mx.relprintid = dw_child.Object.relprintid[i]
  1668. s_mx.mxdscrp = dw_child.Object.mxdscrp[i]
  1669. IF uo_take.acceptmx(s_mx,arg_msg) = 0 THEN
  1670. MessageBox('错误',arg_msg,stopsign!,ok!)
  1671. RETURN
  1672. END IF
  1673. END IF
  1674. NEXT
  1675. IF uo_take.Save(arg_msg,True) = 0 THEN
  1676. MessageBox('错误',arg_msg,stopsign!,ok!)
  1677. RETURN
  1678. END IF
  1679. //MessageBox('提示','保存操作成功!',information!,ok!)
  1680. //write ini
  1681. f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "moneyid",String(dw_uc.Object.u_Bmstamt_moneyid[dw_uc.GetRow()]))
  1682. f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",String(dw_uc.Object.u_Bmstamt_banktypeid[dw_uc.GetRow()]))
  1683. f_SetProfileString (sys_empid,dw_uc.DataObject, "itemid",String(dw_uc.Object.u_Bmstamt_itemid[dw_uc.GetRow()]))
  1684. Long ll_row
  1685. ll_row = dw_pageretr.GetRow()
  1686. dw_pageretr.SelectRow(0,False)
  1687. dw_pageretr.SelectRow(ll_row,True)
  1688. wf_refresh_curuc(uo_take.Baid)
  1689. ELSE
  1690. IF uo_take.newbegin(cur_scid,arg_msg) = 0 THEN
  1691. MessageBox('错误',arg_msg,stopsign!,ok!)
  1692. RETURN
  1693. END IF
  1694. END IF
  1695. CALL Super::Clicked
  1696. IF dw_edit_mode THEN
  1697. Parent.TriggerEvent("insert_childrow")
  1698. String ls_moneyid,ls_banktype, ls_itemid
  1699. ls_moneyid = f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "moneyid",'0')
  1700. ls_banktype = f_ProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",'0')
  1701. ls_itemid = f_ProfileString (sys_empid,dw_uc.DataObject, "itemid",'0')
  1702. dw_uc.SetRedraw(False)
  1703. dw_uc.Object.u_Bmstamt_moneyid[dw_uc.GetRow()] = Long(ls_moneyid)
  1704. dw_uc.Object.u_Bmstamt_mrate[dw_uc.GetRow()] = f_get_mrate(Long(ls_moneyid))
  1705. dw_uc.Object.u_Bmstamt_banktypeid[dw_uc.GetRow()] = Long(ls_banktype)
  1706. dw_uc.Object.scid[dw_uc.GetRow()] = cur_scid
  1707. dw_uc.Object.u_Bmstamt_itemid[dw_uc.GetRow()] = Long(ls_itemid)
  1708. dw_uc.Object.u_itemdef_itemcode[dw_uc.GetRow()] = f_get_itemcode(Long(ls_itemid))
  1709. dw_uc.Object.u_itemdef_itemname[dw_uc.GetRow()] = f_get_itemname(Long(ls_itemid))
  1710. dw_uc.Object.u_bmstamt_barep[dw_uc.GetRow()] = publ_operator
  1711. dw_uc.SetColumn("u_Bmstamt_relcode")
  1712. dw_uc.SetRedraw(True)
  1713. ELSE
  1714. Parent.TriggerEvent("retrieve_childdw")
  1715. END IF
  1716. end event
  1717. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_bmstamt_spt_edit
  1718. end type
  1719. event cb_edit::clicked;IF NOT f_power_ind(1752) THEN
  1720. MessageBox('提示','你没有使用权限!',information!,ok!)
  1721. RETURN
  1722. END IF
  1723. String arg_msg = ''
  1724. Long uc_row
  1725. uc_row = dw_pageretr.GetRow()
  1726. IF uc_row <= 0 THEN
  1727. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  1728. RETURN
  1729. END IF
  1730. IF NOT dw_edit_mode THEN
  1731. IF uo_take.updatebegin(dw_pageretr.Object.u_Bmstamt_scid[uc_row],dw_pageretr.Object.u_Bmstamt_Baid[uc_row],arg_msg) = 0 THEN
  1732. MessageBox('错误',arg_msg,stopsign!,ok!)
  1733. RETURN
  1734. END IF
  1735. wf_refresh_curuc(dw_pageretr.Object.u_Bmstamt_Baid[uc_row])
  1736. PARENT.TriggerEvent("retrieve_childdw")
  1737. END IF
  1738. CALL SUPER::Clicked
  1739. end event
  1740. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_bmstamt_spt_edit
  1741. end type
  1742. event cb_delet::clicked;call super::clicked;IF Not f_power_ind(1753) THEN
  1743. MessageBox('提示','你没有使用权限!',information!,ok!)
  1744. RETURN
  1745. END IF
  1746. IF dw_edit_mode THEN RETURN
  1747. String arg_msg = ''
  1748. Long uc_row
  1749. uc_row = dw_pageretr.GetRow()
  1750. IF uc_row <= 0 THEN
  1751. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  1752. RETURN
  1753. END IF
  1754. IF MessageBox ("询问","是否确定要删除当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1755. IF uo_take.del(cur_scid,dw_pageretr.Object.u_Bmstamt_Baid[uc_row],arg_msg) = 0 THEN
  1756. MessageBox('错误',arg_msg,stopsign!,ok!)
  1757. ELSE
  1758. //日志
  1759. Long ls_id
  1760. String ls_code
  1761. ls_id = dw_pageretr.Object.u_Bmstamt_Baid[uc_row]
  1762. ls_code = dw_pageretr.Object.u_Bmstamt_BaCode[uc_row]
  1763. f_setsysoplog('供应商付款结算单','删除,id:'+String(ls_id)+',code:'+ls_code,arg_msg,True)
  1764. //--
  1765. MessageBox('提示','删除单据'+String(dw_pageretr.Object.u_Bmstamt_BaCode[uc_row])+'成功!',information!,ok!)
  1766. dw_pageretr.DeleteRow(uc_row)
  1767. dw_pageretr.TriggerEvent(RowFocusChanged!)
  1768. END IF
  1769. end event
  1770. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_bmstamt_spt_edit
  1771. end type
  1772. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1773. string menustr
  1774. menustr="Text=增加备注~tEvent=ue_addzy"
  1775. //menustr=menustr + "|" + "Text=-"
  1776. //menustr = menustr + "|" + "Text=确定供应商~tEvent=ue_update_spt"
  1777. menustr += "|" + "Text=-"
  1778. menustr += "|" + "Text=批初审~tEvent=ue_p_auditing"
  1779. menustr += "|" + "Text=批初撤~tEvent=ue_c_p_auditing"
  1780. menustr += "|" + "Text=-"
  1781. menustr += "|" + "Text=批终审~tEvent=ue_p_secauditing"
  1782. menustr += "|" + "Text=批终撤~tEvent=ue_c_p_secauditing"
  1783. menustr=menustr + "|" + "Text=-"
  1784. menustr = menustr + "|" + "Text=确认~tEvent=ue_confirm"
  1785. menustr = menustr + "|" + "Text=反确认~tEvent=ue_confirm_cancel"
  1786. menustr += "|" + "Text=-"
  1787. menustr += "|" + "Text=查看附件~tEvent=ue_fj_view"
  1788. menustr += "|" + "Text=添加附件~tEvent=ue_fj_edit"
  1789. menustr += "|" + "Text=-"
  1790. menustr += "|" + "Text=批确认~tEvent=ue_p_confirm"
  1791. menustr += "|" + "Text=批反确认~tEvent=ue_c_p_confirm"
  1792. if len(trim(menustr))<>0 then
  1793. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  1794. dmPopupMenu.mf_BuildMenu(This, menustr)
  1795. dmPopupMenu.mf_PopMenu()
  1796. Destroy dmPopupMenu
  1797. end if
  1798. end event
  1799. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_bmstamt_spt_edit
  1800. end type
  1801. event cb_auditing::clicked;call super::clicked;
  1802. IF dw_edit_mode THEN RETURN
  1803. String arg_msg = ''
  1804. Long pagerert_row
  1805. pagerert_row = dw_pageretr.GetRow()
  1806. IF pagerert_row <= 0 THEN
  1807. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  1808. RETURN
  1809. END IF
  1810. IF MessageBox ("询问","是否确定要审核当前单据?",question!,yesno! ) = 2 THEN RETURN
  1811. IF sys_option_msttake_takeamt_secaudit = 0 OR &
  1812. sys_option_msttake_takeamt_secaudit = 1 AND dw_pageretr.Object.u_Bmstamt_flag[pagerert_row] = 0 THEN
  1813. IF NOT f_power_ind(1756) THEN
  1814. MessageBox('提示','你没有使用权限!',information!,ok!)
  1815. RETURN
  1816. END IF
  1817. IF uo_take.auditing(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row],publ_operator,arg_msg,TRUE) = 0 THEN
  1818. MessageBox('错误',arg_msg,stopsign!,ok!)
  1819. ELSE
  1820. MessageBox('提示','审核成功!',information!,ok!)
  1821. wf_refresh_curuc(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row])
  1822. END IF
  1823. ELSE
  1824. IF NOT f_power_ind(1758) THEN
  1825. MessageBox('提示','你没有使用权限!',information!,ok!)
  1826. RETURN
  1827. END IF
  1828. IF uo_take.secauditing(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row],publ_operator,arg_msg,TRUE) = 0 THEN
  1829. MessageBox('错误',arg_msg,stopsign!,ok!)
  1830. ELSE
  1831. MessageBox('提示','二级审核成功!',information!,ok!)
  1832. wf_refresh_curuc(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row])
  1833. END IF
  1834. END IF
  1835. end event
  1836. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_bmstamt_spt_edit
  1837. end type
  1838. event cb_xm::clicked;is_mx_menustr = ''
  1839. is_mx_menustr = is_mx_menustr + "|" + "Text=分配收款且余款作为折扣金额~tEvent=ue_p_cmpl"
  1840. is_mx_menustr = is_mx_menustr + "|" + "Text=-"
  1841. is_mx_menustr = is_mx_menustr + "|" + "Text=分配收款~tEvent=ue_p_ttakeamt"
  1842. is_mx_menustr = is_mx_menustr + "|" + "Text=余款作为折扣金额~tEvent=ue_set_zqamt"
  1843. call super::clicked
  1844. //is_mx_menustr = is_mx_menustr + "|" + "Text=明细物料图片查看~tEvent=ue_fj_view"
  1845. end event
  1846. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_bmstamt_spt_edit
  1847. end type
  1848. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_bmstamt_spt_edit
  1849. end type
  1850. type cb_help from w_publ_1ton_share_detail`cb_help within w_bmstamt_spt_edit
  1851. end type
  1852. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_bmstamt_spt_edit
  1853. end type
  1854. event cb_auditing_cancel::clicked;call super::clicked;
  1855. IF dw_edit_mode THEN RETURN
  1856. String arg_msg = ''
  1857. Long pagerert_row
  1858. pagerert_row = dw_pageretr.GetRow()
  1859. IF pagerert_row <= 0 THEN
  1860. MessageBox('提示','请选定当前目标单据!',information!,ok!)
  1861. RETURN
  1862. END IF
  1863. IF MessageBox ("询问","是否确定要撤消审核当前单据?",question!,yesno! ) = 2 THEN RETURN
  1864. IF sys_option_msttake_takeamt_secaudit = 0 OR &
  1865. sys_option_msttake_takeamt_secaudit = 1 AND &
  1866. dw_pageretr.Object.u_Bmstamt_flag[pagerert_row] = 1 AND &
  1867. dw_pageretr.Object.u_Bmstamt_secflag[pagerert_row] = 0 THEN
  1868. IF NOT f_power_ind(1757) THEN
  1869. MessageBox('提示','你没有使用权限!',information!,ok!)
  1870. RETURN
  1871. END IF
  1872. IF uo_take.auditing_cancel(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row],arg_msg,TRUE) = 0 THEN
  1873. MessageBox('错误',arg_msg,stopsign!,ok!)
  1874. ELSE
  1875. MessageBox('提示','撤消审核成功!',information!,ok!)
  1876. wf_refresh_curuc(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row])
  1877. END IF
  1878. ELSE
  1879. IF NOT f_power_ind(1759) THEN
  1880. MessageBox('提示','你没有使用权限!',information!,ok!)
  1881. RETURN
  1882. END IF
  1883. IF uo_take.c_secauditing(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row],arg_msg,TRUE) = 0 THEN
  1884. MessageBox('错误','撤消二级审核失改,'+arg_msg,stopsign!,ok!)
  1885. ELSE
  1886. MessageBox('提示','撤消二级审核成功!',information!,ok!)
  1887. wf_refresh_curuc(dw_pageretr.Object.u_Bmstamt_Baid[pagerert_row])
  1888. END IF
  1889. END IF
  1890. end event
  1891. type p_msg from w_publ_1ton_share_detail`p_msg within w_bmstamt_spt_edit
  1892. end type
  1893. type p_help from w_publ_1ton_share_detail`p_help within w_bmstamt_spt_edit
  1894. end type
  1895. type p_encl from w_publ_1ton_share_detail`p_encl within w_bmstamt_spt_edit
  1896. end type
  1897. type p_other from w_publ_1ton_share_detail`p_other within w_bmstamt_spt_edit
  1898. end type
  1899. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_bmstamt_spt_edit
  1900. end type
  1901. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_bmstamt_spt_edit
  1902. integer beginx = 9
  1903. integer endx = 3209
  1904. end type
  1905. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_bmstamt_spt_edit
  1906. end type
  1907. type r_bar from w_publ_1ton_share_detail`r_bar within w_bmstamt_spt_edit
  1908. integer x = 2935
  1909. integer height = 148
  1910. end type
  1911. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_bmstamt_spt_edit
  1912. end type
  1913. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_bmstamt_spt_edit
  1914. end type
  1915. type ddlb_status from dropdownlistbox within w_bmstamt_spt_edit
  1916. integer x = 1577
  1917. integer y = 188
  1918. integer width = 393
  1919. integer height = 400
  1920. integer taborder = 10
  1921. boolean bringtotop = true
  1922. integer textsize = -9
  1923. integer weight = 400
  1924. fontcharset fontcharset = gb2312charset!
  1925. fontpitch fontpitch = variable!
  1926. string facename = "宋体"
  1927. long textcolor = 33554432
  1928. string text = "[全部]"
  1929. boolean sorted = false
  1930. string item[] = {"[全部]","待初审","待终审","待确认","审核完毕"}
  1931. borderstyle borderstyle = stylelowered!
  1932. end type
  1933. event selectionchanged;IF Index = 1 THEN
  1934. cur_flag = -1
  1935. cur_confirmflag = -1
  1936. cur_secflag = -1
  1937. ELSEIF Index = 2 THEN
  1938. cur_flag = 0
  1939. cur_secflag = 0
  1940. cur_confirmflag = -1
  1941. ELSEIF Index = 3 THEN
  1942. cur_flag = 1
  1943. cur_secflag = 0
  1944. cur_confirmflag = -1
  1945. ELSEIF Index = 4 THEN
  1946. cur_flag = -1
  1947. cur_secflag = -1
  1948. cur_confirmflag = 0
  1949. ELSE
  1950. cur_flag = 1
  1951. cur_secflag = 1
  1952. cur_confirmflag = 1
  1953. END IF
  1954. PARENT.TriggerEvent('retrieve_pageretr')
  1955. end event
  1956. type ddlb_scid from uo_ddlb_scid within w_bmstamt_spt_edit
  1957. integer x = 896
  1958. integer y = 188
  1959. integer width = 549
  1960. integer height = 1120
  1961. end type
  1962. event constructor;call super::constructor;cur_scid=this.uo_scid
  1963. end event
  1964. event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
  1965. parent.triggerevent("retrieve_pageretr")
  1966. end event
  1967. type st_3 from statictext within w_bmstamt_spt_edit
  1968. integer x = 1403
  1969. integer y = 204
  1970. integer width = 165
  1971. integer height = 48
  1972. integer textsize = -9
  1973. integer weight = 400
  1974. fontcharset fontcharset = gb2312charset!
  1975. fontpitch fontpitch = variable!
  1976. string facename = "宋体"
  1977. long textcolor = 33554432
  1978. long backcolor = 134217739
  1979. string text = "状态"
  1980. alignment alignment = right!
  1981. boolean focusrectangle = false
  1982. end type
  1983. type st_2 from statictext within w_bmstamt_spt_edit
  1984. integer x = 713
  1985. integer y = 204
  1986. integer width = 165
  1987. integer height = 48
  1988. integer textsize = -9
  1989. integer weight = 400
  1990. fontcharset fontcharset = gb2312charset!
  1991. fontpitch fontpitch = variable!
  1992. string facename = "宋体"
  1993. long textcolor = 33554432
  1994. long backcolor = 134217739
  1995. string text = "分部"
  1996. alignment alignment = right!
  1997. boolean focusrectangle = false
  1998. end type
  1999. type cbx_1 from checkbox within w_bmstamt_spt_edit
  2000. integer x = 2057
  2001. integer y = 204
  2002. integer width = 183
  2003. integer height = 60
  2004. boolean bringtotop = true
  2005. integer textsize = -9
  2006. integer weight = 400
  2007. fontcharset fontcharset = gb2312charset!
  2008. fontpitch fontpitch = variable!
  2009. string facename = "宋体"
  2010. long textcolor = 33554432
  2011. long backcolor = 134217739
  2012. string text = "全选"
  2013. end type
  2014. event clicked;Long i
  2015. dw_pageretr.SetRedraw(False)
  2016. FOR i = 1 To dw_pageretr.RowCount()
  2017. IF Checked THEN
  2018. dw_pageretr.Object.ch[i] = 1
  2019. ELSE
  2020. dw_pageretr.Object.ch[i] = 0
  2021. END IF
  2022. NEXT
  2023. dw_pageretr.SetRedraw(True)
  2024. end event