w_sptamt_other.srw 61 KB

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