w_taskdamt_buy.srw 51 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910
  1. $PBExportHeader$w_taskdamt_buy.srw
  2. forward
  3. global type w_taskdamt_buy from w_publ_1ton_share_detail
  4. end type
  5. type ddlb_scid from uo_ddlb_scid within w_taskdamt_buy
  6. end type
  7. type ddlb_status from dropdownlistbox within w_taskdamt_buy
  8. end type
  9. type st_2 from statictext within w_taskdamt_buy
  10. end type
  11. type st_3 from statictext within w_taskdamt_buy
  12. end type
  13. type cbx_1 from checkbox within w_taskdamt_buy
  14. end type
  15. end forward
  16. global type w_taskdamt_buy from w_publ_1ton_share_detail
  17. integer height = 2576
  18. string title = "采购订单付款单"
  19. boolean maxbox = true
  20. windowstate windowstate = maximized!
  21. event insert_childrow ( )
  22. event ue_fj_edit ( )
  23. event ue_fj_view ( )
  24. ddlb_scid ddlb_scid
  25. ddlb_status ddlb_status
  26. st_2 st_2
  27. st_3 st_3
  28. cbx_1 cbx_1
  29. end type
  30. global w_taskdamt_buy w_taskdamt_buy
  31. type variables
  32. Long cur_scid = 0 //分店ID
  33. Long cur_flag = -1 //-1:全部,0未审,1已审核
  34. Int cur_editfocus = 0 //1:新建2:修改
  35. Long il_moneyid_native
  36. uo_giveback uo_giveback_mtrl
  37. uo_taskdamt uo_ware
  38. long ins_accountsid_last
  39. long ins_realmoneyid_last,ins_accounts_moneyid
  40. long ins_itemid_last
  41. long ins_banktypeid_last
  42. decimal ins_realrate_last
  43. end variables
  44. forward prototypes
  45. public function integer wf_addmx (long arg_cusid, datetime arg_startdate, datetime arg_enddate, ref string arg_msg)
  46. public function integer wf_flagstatus_rf ()
  47. public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg)
  48. public function integer wf_refresh_curuc (long arg_billid)
  49. public function integer wf_check_taskamt (ref string arg_msg)
  50. public function integer wf_adduc_buytask (long arg_scid, long arg_taskid, ref string arg_msg)
  51. end prototypes
  52. event insert_childrow();Long li_row
  53. li_row = dw_child.InsertRow(0)
  54. dw_child.ScrollToRow(li_row)
  55. dw_child.Object.moneyid_native[li_row] = il_moneyid_native
  56. dw_child.Object.u_taskdamt_mx_accountsid[li_row] = ins_accountsid_last
  57. dw_child.Object.u_taskdamt_mx_realrate[li_row] = ins_realrate_last
  58. dw_child.Object.u_taskdamt_mx_realmoneyid[li_row] = ins_realmoneyid_last
  59. dw_child.Object.u_accounts_moneyid[li_row] = ins_accounts_moneyid
  60. dw_child.Object.u_taskdamt_mx_itemid[li_row] = ins_itemid_last
  61. dw_child.Object.u_taskdamt_mx_banktypeid[li_row] = ins_banktypeid_last
  62. dw_child.SetColumn ('u_taskdamt_mx_reltaskcode')
  63. end event
  64. event ue_fj_edit();IF dw_edit_mode THEN
  65. MessageBox('提示','编辑状态下不可用',information!,OK!)
  66. RETURN
  67. END IF
  68. //IF NOT f_power_ind(1098) THEN
  69. // MessageBox(publ_operator,sys_msg_pow)
  70. // RETURN
  71. //END IF
  72. s_edit_index_tran s_pic
  73. Long ll_ConnectionID
  74. String arg_msg
  75. Long ls_row
  76. ls_row = dw_pageretr.GetRow()
  77. IF ls_row <= 0 THEN
  78. RETURN
  79. END IF
  80. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  81. MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,OK!)
  82. RETURN
  83. END IF
  84. s_pic.f_long = 574 //
  85. s_pic.f_string = dw_pageretr.Object.u_taskdamt_billcode[ls_row]
  86. s_pic.g_long = dw_pageretr.Object.u_taskdamt_billid[ls_row]
  87. s_pic.e_long = dw_pageretr.Object.u_taskdamt_scid[ls_row]
  88. s_pic.sqltransaction = sys_filedb_sqlca
  89. OpenWithParm(w_fj_bill_mng,s_pic)
  90. end event
  91. event ue_fj_view();IF dw_edit_mode THEN
  92. MessageBox('提示','编辑状态下不可用',information!,OK!)
  93. RETURN
  94. END IF
  95. s_edit_index_tran s_pic
  96. Long ll_ConnectionID
  97. String arg_msg
  98. Long ls_row
  99. ls_row = dw_pageretr.GetRow()
  100. IF ls_row <= 0 THEN
  101. RETURN
  102. END IF
  103. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  104. MessageBox('提示','没有指定附件数据库连接'+arg_msg,information!,OK!)
  105. RETURN
  106. END IF
  107. s_pic.f_long = 574 //
  108. s_pic.f_string = dw_pageretr.Object.u_taskdamt_billcode[ls_row]
  109. s_pic.g_long = dw_pageretr.Object.u_taskdamt_billid[ls_row]
  110. s_pic.e_long = dw_pageretr.Object.u_taskdamt_scid[ls_row]
  111. s_pic.sqltransaction = sys_filedb_sqlca
  112. OpenWithParm(w_fj_bill_view,s_pic)
  113. end event
  114. public function integer wf_addmx (long arg_cusid, datetime arg_startdate, datetime arg_enddate, ref string arg_msg);Int rslt = 1
  115. Int ll_rowcount
  116. Int ls_i,ls_currow
  117. Long ll_scid
  118. Long ll_outwareid
  119. String ls_relcode
  120. datetime ld_outdate
  121. Decimal {5} ls_sumamt,ls_noreabteamt
  122. arg_msg = ''
  123. IF Year(Date(arg_startdate)) < 2000 OR IsNull(arg_startdate) THEN
  124. rslt = 0
  125. arg_msg = "缺少开始时间或不合理"
  126. GOTO EXT
  127. END IF
  128. IF Year(Date(arg_enddate)) < 2000 OR IsNull(arg_enddate) THEN
  129. rslt = 0
  130. arg_msg = '缺少结束时间或不合理'
  131. GOTO EXT
  132. END IF
  133. arg_startdate = DateTime(Date(arg_startdate),Time(0))
  134. arg_enddate = DateTime(Date(arg_enddate),Time(23:59:59))
  135. dw_child.Reset()
  136. datastore ds_outware_sumamt
  137. ds_outware_sumamt = CREATE datastore
  138. ds_outware_sumamt.DataObject = "dw_outware_addmx"
  139. ds_outware_sumamt.SetTransObject(sqlca)
  140. ds_outware_sumamt.Retrieve(arg_cusid,arg_startdate,arg_enddate)
  141. ll_rowcount = ds_outware_sumamt.RowCount()
  142. IF ll_rowcount <= 0 THEN
  143. rslt = 0
  144. arg_msg = '该供应商在这段时间内没有交易单据'
  145. GOTO EXT
  146. END IF
  147. FOR ls_i = 1 TO ll_rowcount
  148. ll_scid = ds_outware_sumamt.Object.scid[ls_i]
  149. ll_outwareid = ds_outware_sumamt.Object.outwareid[ls_i]
  150. ls_relcode = ds_outware_sumamt.Object.outwarecode[ls_i]
  151. ld_outdate = ds_outware_sumamt.Object.outdate[ls_i]
  152. //读该采购单的总金额
  153. SELECT SUM(round(fprice * qty * rebate,2)) AS amt
  154. INTO :ls_sumamt
  155. FROM u_outwaremx
  156. WHERE u_outwaremx.scid = :ll_scid
  157. AND u_outwaremx.outwareid = :ll_outwareid;
  158. IF sqlca.SQLCode <> 0 THEN
  159. rslt = 0
  160. arg_msg = '计算采购单的总金额失败!'
  161. GOTO EXT
  162. END IF
  163. IF ls_sumamt < 0 THEN
  164. rslt = 0
  165. arg_msg = '采购单的总金额错误!'
  166. GOTO EXT
  167. END IF
  168. //读该采购单的非折扣金额
  169. SELECT SUM(round(fprice * rebate * qty,2) ) AS amt
  170. INTO :ls_noreabteamt
  171. FROM u_outwaremx
  172. WHERE u_outwaremx.scid = :ll_scid AND u_outwaremx.outwareid = :ll_outwareid
  173. AND u_outwaremx.rebate >= :sys_option_cust_rate;
  174. IF sqlca.SQLCode <> 0 THEN
  175. rslt = 0
  176. arg_msg = '计算采购单的非折扣金额失败!'
  177. GOTO EXT
  178. END IF
  179. IF ls_noreabteamt < 0 THEN
  180. rslt = 0
  181. arg_msg = '采购单的非折扣金额错误!'
  182. GOTO EXT
  183. END IF
  184. ls_currow = dw_child.InsertRow(0)
  185. dw_child.Object.scid[ls_currow] = ll_scid
  186. dw_child.Object.outwareid[ls_currow] = ll_outwareid
  187. dw_child.Object.relcode[ls_currow] = ls_relcode
  188. dw_child.Object.childsumamt[ls_currow] = ls_sumamt
  189. dw_child.Object.norebateamt[ls_currow] = ls_noreabteamt
  190. dw_child.Object.givebackdate[ls_currow] = ld_outdate
  191. NEXT
  192. EXT:
  193. RETURN rslt
  194. end function
  195. public function integer wf_flagstatus_rf ();Long pagerert_row
  196. pagerert_row = dw_pageretr.GetRow()
  197. IF pagerert_row <= 0 THEN
  198. cb_auditing.Enabled = FALSE
  199. cb_auditing_cancel.Enabled = FALSE
  200. GOTO ext
  201. END IF
  202. IF dw_edit_mode THEN
  203. cb_auditing.Enabled = FALSE
  204. cb_auditing_cancel.Enabled = FALSE
  205. ELSE
  206. IF dw_pageretr.Object.u_taskdamt_flag[pagerert_row] = 0 THEN
  207. cb_auditing.Enabled = TRUE
  208. cb_auditing_cancel.Enabled = FALSE
  209. ELSEIF dw_pageretr.Object.u_taskdamt_flag[pagerert_row] = 1 THEN
  210. cb_auditing.Enabled = FALSE
  211. cb_auditing_cancel.Enabled = TRUE
  212. END IF
  213. END IF
  214. ext:
  215. RETURN 0
  216. end function
  217. public function integer wf_xls_retrievedata (long arg_ationid, ref s_xls_billlist arg_str_billlist, ref uo_sendtoexcel arg_obj_st, ref string arg_msg);//==============================================================================
  218. // 函数: w_publ_1ton_share_detail::wf_xls_retrievedata()
  219. //------------------------------------------------------------------------------
  220. // 描述: 此函数需要 重载,复制祖先范例代码,然后修改retrieve参数部分两处即可
  221. //------------------------------------------------------------------------------
  222. Long LS_ROW,ll_id,i,ll_scid
  223. LS_ROW = dw_pageretr.GetRow()
  224. IF LS_ROW <= 0 THEN
  225. arg_msg = '没有目标单据!'
  226. RETURN 0
  227. END IF
  228. //修改点:获取 指定retriev参数
  229. ll_id = dw_pageretr.Object.#1[LS_ROW]
  230. ll_scid = dw_pageretr.Object.u_giveback_scid[LS_ROW]
  231. ////可选设置///
  232. arg_obj_st.uo_const.create_new_pwd( ) //创建随机密码
  233. if sys_option_xls_ifuse_passwd = 1 then arg_obj_st.uo_const.pwd = trim(sys_option_xls_user_passwd) //默认加密密码 默认为随即密码
  234. boolean xls_locked
  235. xls_locked = not (sys_option_xls_lock = 1)
  236. /// Excel 的可选设置
  237. if arg_obj_st.of_setoption(arg_ationid, xls_locked,true,arg_msg) <> 1 then
  238. return 0
  239. end if
  240. for i = 1 to arg_str_billlist.count
  241. ////可选操作///
  242. arg_str_billlist.bill[i].ds_data = create datastore //
  243. arg_str_billlist.bill[i].ds_data.dataobject = arg_str_billlist.bill[i].datawindow //
  244. arg_str_billlist.bill[i].ds_data.settransobject(sqlca)
  245. //修改点:注意retrieve 参数与上文对应
  246. arg_str_billlist.bill[i].ds_data.retrieve(ll_scid,ll_id)
  247. next
  248. return 1
  249. end function
  250. public function integer wf_refresh_curuc (long arg_billid);IF arg_billid <= 0 OR IsNull(arg_billid) THEN RETURN 0
  251. Long uc_row
  252. uc_row = dw_pageretr.GetRow()
  253. IF uc_row <= 0 THEN RETURN 0
  254. DateTime billdate
  255. String cuscode
  256. String assign_emp
  257. String part
  258. String dscrp
  259. String billcode
  260. Long billtype
  261. Long cussptid
  262. DateTime opdate
  263. String opemp
  264. String modemp
  265. DateTime moddate
  266. String permit_emp
  267. DateTime permit_date
  268. Long li_flag
  269. String Name
  270. String custype
  271. Long scid
  272. string simplename
  273. string dscrp_yt
  274. string dscrp_sm
  275. string dscrp_yq
  276. SELECT u_taskdamt.scid,
  277. u_taskdamt.billdate,
  278. u_spt.sptcode,
  279. u_taskdamt.assign_emp,
  280. u_taskdamt.part,
  281. u_taskdamt.dscrp,
  282. u_taskdamt.billcode,
  283. u_taskdamt.cussptid,
  284. u_taskdamt.opdate,
  285. u_taskdamt.opemp,
  286. u_taskdamt.modemp,
  287. u_taskdamt.moddate,
  288. u_taskdamt.permit_emp,
  289. u_taskdamt.permit_date,
  290. u_taskdamt.flag,
  291. u_spt.name,
  292. u_spt.rep,
  293. u_taskdamt.dscrp_yt,
  294. u_taskdamt.dscrp_sm,
  295. u_taskdamt.dscrp_yq
  296. INTO
  297. :scid,
  298. :billdate,
  299. :cuscode,
  300. :assign_emp,
  301. :part,
  302. :dscrp,
  303. :billcode,
  304. :cussptid,
  305. :opdate,
  306. :opemp,
  307. :modemp,
  308. :moddate,
  309. :permit_emp,
  310. :permit_date,
  311. :li_flag,
  312. :Name,
  313. :custype,
  314. :dscrp_yt,
  315. :dscrp_sm,
  316. :dscrp_yq
  317. FROM u_taskdamt INNER JOIN
  318. u_spt ON u_taskdamt.cussptid = u_spt.sptid
  319. WHERE ( u_taskdamt.billid = :arg_billid )
  320. and u_taskdamt.billtype = 1 ;
  321. IF sqlca.SQLCode <> 0 THEN
  322. MessageBox('系统提示',"查询操作失败(错误单据唯一码)")
  323. RETURN 0
  324. END IF
  325. dw_pageretr.Object.u_taskdamt_scid[uc_row] = scid
  326. dw_pageretr.Object.u_taskdamt_billid[uc_row] = arg_billid
  327. dw_pageretr.Object.u_taskdamt_billdate[uc_row] = billdate
  328. dw_pageretr.Object.u_spt_code[uc_row] = cuscode
  329. dw_pageretr.Object.u_taskdamt_assign_emp[uc_row] = assign_emp
  330. dw_pageretr.Object.u_taskdamt_part[uc_row] = part
  331. dw_pageretr.Object.u_taskdamt_dscrp[uc_row] = dscrp
  332. dw_pageretr.Object.u_taskdamt_billcode[uc_row] = billcode
  333. dw_pageretr.Object.u_taskdamt_cussptid[uc_row] = cussptid
  334. dw_pageretr.Object.u_taskdamt_opdate[uc_row] = opdate
  335. dw_pageretr.Object.u_taskdamt_opemp[uc_row] = opemp
  336. dw_pageretr.Object.u_taskdamt_modemp[uc_row] = modemp
  337. dw_pageretr.Object.u_taskdamt_moddate[uc_row] = moddate
  338. dw_pageretr.Object.u_taskdamt_permit_emp[uc_row] = permit_emp
  339. dw_pageretr.Object.u_taskdamt_permit_date[uc_row] = permit_date
  340. dw_pageretr.Object.u_taskdamt_flag[uc_row] = li_flag
  341. dw_pageretr.Object.u_spt_name[uc_row] = Name
  342. dw_pageretr.Object.u_spt_rep[uc_row] = custype
  343. dw_pageretr.Object.u_taskdamt_dscrp_yt[uc_row] = dscrp_yt
  344. dw_pageretr.Object.u_taskdamt_dscrp_sm[uc_row] = dscrp_sm
  345. dw_pageretr.Object.u_taskdamt_dscrp_yq[uc_row] = dscrp_yq
  346. dw_uc.Reset()
  347. dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  348. dw_uc.ResetUpdate()
  349. dw_uc.SetRedraw(TRUE)
  350. wf_flagstatus_rf()
  351. RETURN 1
  352. end function
  353. public function integer wf_check_taskamt (ref string arg_msg);long i,j,rslt=1,n = 1
  354. long ll_taskid,ll_scid
  355. dec dec_takeamt
  356. dec lde_mstpayamt,lde_payamt
  357. long ll_row,ll_rowc
  358. ll_row = dw_child.rowcount() - 1
  359. ll_rowc = dw_child.rowcount()
  360. dw_child.accepttext()
  361. IF ll_rowc = 1 THEN
  362. ll_row = 1
  363. END IF
  364. for i=1 to ll_rowc
  365. ll_taskid = dw_child.Object. u_taskdamt_mx_relid [i]
  366. dec_takeamt = dw_child.Object.u_taskdamt_mx_takeamt[i]
  367. ll_scid = cur_scid
  368. IF ll_rowc >1 and i<> ll_rowc THEN
  369. for j=i to ll_row
  370. IF ll_taskid = dw_child.Object.u_taskdamt_mx_relid[J+1] Then
  371. dec_takeamt = dec_takeamt + dw_child.Object.u_taskdamt_mx_takeamt[J+1]
  372. END IF
  373. next
  374. END IF
  375. SELECT mstpayamt,payamt
  376. INTO :lde_mstpayamt,:lde_payamt
  377. FROM u_buytask
  378. WHERE scid = :ll_scid AND
  379. taskid = :ll_taskid Using SQLCA;
  380. IF SQLCA.SQLCode <> 0 THEN
  381. arg_msg = '查询订单信息失败!'+SQLCA.SQLErrText
  382. rslt = 0
  383. messagebox('',arg_msg)
  384. END IF
  385. IF lde_mstpayamt - lde_payamt <= 0 THEN
  386. arg_msg = '第['+string(i) +']行,该订单号已经全部付款完毕请检查'
  387. rslt = 0
  388. return rslt
  389. END IF
  390. IF lde_mstpayamt - lde_payamt < dec_takeamt THEN
  391. arg_msg = '第['+string(i) +']行,该订单号出纳付款额大于最大付款额'
  392. rslt = 0
  393. return rslt
  394. END IF
  395. next
  396. return rslt
  397. end function
  398. public function integer wf_adduc_buytask (long arg_scid, long arg_taskid, ref string arg_msg);//wf_saletaskmtrltoarr(long arg_taskid,ref s_saletask_mtrl arg_s_rqmtrl[],ref long arg_p_rqmtrl,ref string arg_msg)
  399. //查询合同物料资料
  400. //把物料资料写入数组
  401. Long rslt = 1
  402. Long child_row
  403. Long ll_cusid
  404. String ls_cuscode,ls_cusname,ls_taskcode
  405. Long ll_moneyid, ll_banktypeid
  406. String ls_assign_emp, ls_simplename
  407. Long ll_scid, ll_taskid
  408. Dec lde_damt, lde_msttakeamt, lde_takeamt, lde_noamt
  409. SELECT u_spt.sptid, u_spt.sptcode, u_spt.name,u_buyTask.taskcode,u_buyTask.moneyid,u_buyTask.assign_emp,
  410. u_buyTask.scid, u_buyTask.taskid, u_buyTask.mstpayamt, u_buyTask.payamt,u_buyTask.banktypeid,
  411. u_buyTask.mstpayamt - u_buyTask.payamt as noamt
  412. INTO :ll_cusid,:ls_cuscode,:ls_cusname,:ls_taskcode,:ll_moneyid, :ls_assign_emp,
  413. :ll_scid, :ll_taskid, :lde_msttakeamt, :lde_takeamt, :ll_banktypeid,:lde_noamt
  414. FROM u_buyTask INNER JOIN
  415. u_spt ON u_buyTask.sptID = u_spt.sptid
  416. WHERE u_buyTask.taskid = :arg_taskid AND
  417. u_buyTask.scid = :arg_scid Using sqlca;
  418. IF sqlca.SQLCode <> 0 THEN
  419. rslt = 0
  420. arg_msg = "查询操作失败,采购单供应商"
  421. GOTO ext
  422. END IF
  423. dw_uc.Object.u_taskdamt_cussptid[dw_uc.GetRow()] = ll_cusid
  424. dw_uc.Object.u_spt_code[dw_uc.GetRow()] = ls_cuscode
  425. dw_uc.Object.u_spt_name[dw_uc.GetRow()] = ls_cusname
  426. dw_uc.Object.u_spt_rep[dw_uc.GetRow()] = ls_assign_emp
  427. dw_uc.AcceptText()
  428. //wf_addmx_saletask(arg_scid,arg_taskid,arg_msg)
  429. child_row = dw_child.GetRow()
  430. dw_child.SetRedraw(False)
  431. IF dw_child.GetRow() > 0 THEN
  432. IF dw_child.Object.u_taskdamt_mx_relid[child_row] <> 0 THEN
  433. child_row = dw_child.InsertRow (0)
  434. ELSE
  435. child_row = dw_child.GetRow()
  436. END IF
  437. ELSE
  438. child_row = dw_child.InsertRow (0)
  439. END IF
  440. dw_child.Object.u_taskdamt_mx_scid[child_row] = ll_scid
  441. dw_child.Object.u_taskdamt_mx_reltaskcode[child_row] = ls_taskcode
  442. ///dw_child.Object.u_taskdamt_mx_damt[child_row] =0// lde_damt
  443. dw_child.Object.u_taskdamt_mx_relid[child_row] = ll_taskid
  444. dw_child.Object.u_taskdamt_mx_billamt[child_row] = lde_msttakeamt
  445. dw_child.Object.u_taskdamt_mx_reltakeamt[child_row] = lde_takeamt
  446. dw_child.Object.u_taskdamt_mx_takeamt[child_row] = lde_noamt
  447. // IF sys_option_m_msttake = 1 THEN
  448. dw_child.Object.u_taskdamt_mx_realmoneyid[child_row] = ll_moneyid
  449. // ELSE
  450. // dw_child.Object.u_taskdamt_mx_realmoneyid[child_row] = il_moneyid_native
  451. // END IF
  452. dw_child.Object.u_taskdamt_mx_banktypeid[child_row] = ll_banktypeid
  453. ///dw_child.Object.u_taskdamt_mx_reldamt[child_row] =0/// lde_takeamt
  454. dw_child.Object.moneyid_native[child_row] = il_moneyid_native
  455. dw_child.SetRedraw(True)
  456. dw_child.SetColumn("u_taskdamt_mx_accountsid")
  457. ext:
  458. RETURN rslt
  459. end function
  460. on w_taskdamt_buy.create
  461. int iCurrent
  462. call super::create
  463. this.ddlb_scid=create ddlb_scid
  464. this.ddlb_status=create ddlb_status
  465. this.st_2=create st_2
  466. this.st_3=create st_3
  467. this.cbx_1=create cbx_1
  468. iCurrent=UpperBound(this.Control)
  469. this.Control[iCurrent+1]=this.ddlb_scid
  470. this.Control[iCurrent+2]=this.ddlb_status
  471. this.Control[iCurrent+3]=this.st_2
  472. this.Control[iCurrent+4]=this.st_3
  473. this.Control[iCurrent+5]=this.cbx_1
  474. end on
  475. on w_taskdamt_buy.destroy
  476. call super::destroy
  477. destroy(this.ddlb_scid)
  478. destroy(this.ddlb_status)
  479. destroy(this.st_2)
  480. destroy(this.st_3)
  481. destroy(this.cbx_1)
  482. end on
  483. event open;call super::open;uc_column_int =9 //uc dw前6列可以编辑
  484. child_column_int = 8 //子dw前3列可以编辑
  485. uo_ware = CREATE uo_taskdamt
  486. end event
  487. event close;call super::close;DESTROY uo_giveback_mtrl
  488. Int li_auto
  489. IF cbx_1.Checked THEN
  490. li_auto = 1
  491. ELSE
  492. li_auto = 0
  493. END IF
  494. f_SetProfileString(sys_empid, this.title, "auto_add", String(li_auto))
  495. end event
  496. event retrieve_childdw;Long row,uc_relid
  497. row = dw_pageretr.GetRow()
  498. IF row > 0 THEN
  499. uc_relid = dw_pageretr.Object.u_taskdamt_billid[row]
  500. dw_child.SetRedraw (FALSE)
  501. dw_child.Retrieve(uc_relid,il_moneyid_native)
  502. dw_child.SetRedraw (TRUE)
  503. IF dw_child.RowCount() > 0 THEN
  504. dw_child.SelectRow(0,FALSE)
  505. dw_child.SelectRow(1,TRUE)
  506. dw_child.SetRow(1)
  507. END IF
  508. ELSE
  509. dw_child.Reset()
  510. END IF
  511. end event
  512. event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled
  513. Boolean cb_func_enabled,cb_retrieve_enabled
  514. cb_nextpage_enabled = cb_nextpage.Enabled
  515. cb_retrieveall_enabled = cb_retrieveall.Enabled
  516. cb_func_enabled = cb_func.Enabled
  517. cb_nextpage.Enabled = FALSE
  518. cb_retrieveall.Enabled = FALSE
  519. cb_func.Enabled = FALSE
  520. Int li_option_outrep //业务员权限
  521. IF sys_power_issuper THEN
  522. li_option_outrep = 0
  523. ELSE
  524. li_option_outrep = sys_option_outrep
  525. END IF
  526. dw_uc.Retrieve()
  527. dw_pageretr.Retrieve(cur_scid,cur_flag,sys_user_spttype)
  528. IF dw_pageretr.RowCount() > 0 THEN
  529. dw_pageretr.SetRow(1)
  530. dw_pageretr.TriggerEvent(RowFocusChanged!)
  531. END IF
  532. wf_flagstatus_rf()
  533. THIS.TriggerEvent('retrieve_childdw')
  534. cb_nextpage.Enabled = cb_nextpage_enabled
  535. cb_retrieveall.Enabled = cb_retrieveall_enabled
  536. cb_func.Enabled = cb_func_enabled
  537. end event
  538. event ue_usual_query_filt;String obj_expr = ''
  539. IF Trim(sle_usual_query.Text) <> '' THEN
  540. IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN
  541. obj_expr = obj_expr+'( u_taskdamt_billcode LIKE "%'+Trim(sle_usual_query.Text)+'%" )'
  542. ELSE
  543. obj_expr = obj_expr+'( u_taskdamt_billcode LIKE "'+Trim(sle_usual_query.Text)+'" )'
  544. END IF
  545. END IF
  546. dw_pageretr.SetFilter(obj_expr)
  547. dw_pageretr.SetRedraw(FALSE)
  548. dw_pageretr.Filter()
  549. IF dw_pageretr.RowCount() >= 1 THEN
  550. dw_pageretr.SelectRow(0,FALSE)
  551. dw_pageretr.SelectRow(1,TRUE)
  552. END IF
  553. dw_pageretr.SetRedraw(TRUE)
  554. end event
  555. event ue_usual_query_retr;string ls_querystrpart=''
  556. ls_newselect=lower(ori_oldselect)
  557. if trim(sle_usual_query.text)<>'' then
  558. if pos(trim(sle_usual_query.text),'%')=0 then
  559. ls_querystrpart="( u_taskdamt.billcode like '%"+trim(sle_usual_query.text)+"%')"
  560. else
  561. ls_querystrpart="( u_taskdamt.billcode like '"+trim(sle_usual_query.text)+"')"
  562. end if
  563. if Pos(ls_newselect," where ") <> 0 then
  564. ls_newselect=ls_newselect+" AND ("+ls_querystrpart+')'
  565. else
  566. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  567. end if
  568. end if
  569. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  570. this.triggerevent('retrieve_pageretr')
  571. end event
  572. event ue_f9;call super::ue_f9;
  573. IF NOT dw_edit_mode THEN RETURN
  574. Long child_row
  575. String ls_msg = ''
  576. Int rslt
  577. child_row = dw_uc.GetRow()
  578. IF child_row = 0 THEN
  579. MessageBox('系统提示','请选定单据!')
  580. RETURN
  581. END IF
  582. dw_uc.AcceptText()
  583. IF NOT IsValid(w_spt_edit) THEN
  584. s_edit_index_tran s_ch_tran //传递参数使用
  585. s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  586. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  587. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  588. //查询列(物料编码)部分内容,用于初步筛选
  589. dw_uc.AcceptText()
  590. s_ch_tran.arg_string_code = Upper(Trim(dw_uc.Object.u_spt_code[dw_uc.GetRow()]))
  591. OpenWithParm(w_spt_edit,s_ch_tran) //调用
  592. s_spt S_INSCUST
  593. S_INSCUST = Message.PowerObjectParm //接受返回结构
  594. IF S_INSCUST.sptid > 0 THEN //正常返回值则可以取以下值
  595. dw_uc.SetRedraw(False)
  596. dw_uc.Object.u_taskdamt_cussptid[child_row] = S_INSCUST.sptid
  597. dw_uc.Object.u_spt_code[child_row] = S_INSCUST.sptcode
  598. dw_uc.Object.u_spt_name[child_row] = S_INSCUST.Name
  599. dw_uc.Object.u_spt_rep[child_row] = S_INSCUST.rep
  600. dw_uc.SetRedraw(True)
  601. dw_uc.SetColumn("u_taskdamt_assign_emp")
  602. dw_uc.setfocus()
  603. END IF
  604. END IF
  605. end event
  606. event ue_viewprint;call super::ue_viewprint;IF NOT f_power_ind(1544,sys_msg_pow) THEN
  607. MessageBox(publ_operator,sys_msg_pow)
  608. RETURN
  609. END IF
  610. Long LS_ROW,ll_scid
  611. LS_ROW = dw_pageretr.GetRow()
  612. IF LS_ROW <= 0 THEN
  613. MessageBox('NO','没有打印目标单据!')
  614. RETURN
  615. END IF
  616. S_print_MSG LS_PRMSG
  617. if ls_powerid = 0 then
  618. ls_powerid = 1693
  619. end if
  620. IF ls_newname <> '' THEN
  621. IF NOT f_power_ind(ls_powerid,sys_msg_pow) THEN
  622. MessageBox(publ_operator,sys_msg_pow)
  623. RETURN
  624. END IF
  625. IF li_auditprint = 1 THEN
  626. IF dw_pageretr.Object.u_taskdamt_flag[dw_pageretr.GetRow()] = 0 THEN
  627. MessageBox('NO','目标单据还未审核,不能打印!')
  628. RETURN
  629. END IF
  630. END IF
  631. LS_PRMSG.obj_dwNAME = ls_newname
  632. ELSE
  633. IF NOT f_power_ind(1693,sys_msg_pow) THEN
  634. MessageBox(publ_operator,sys_msg_pow)
  635. RETURN
  636. END IF
  637. LS_PRMSG.obj_dwNAME ='dw_rp_spt_taskamt_edit'
  638. END IF
  639. IF LS_PRMSG.obj_dwNAME = '' THEN RETURN
  640. LS_PRMSG.printrow = ll_prownum
  641. LS_PRMSG.TAG_TEXT = '订单付款单'
  642. LS_PRMSG.FILTER_STRING = ''
  643. LS_PRMSG.retr_pram_falg = 15
  644. LS_PRMSG.PAGECH_FLAG = 0
  645. LS_PRMSG.retr_scid = dw_pageretr.Object.u_taskdamt_scid[LS_ROW]
  646. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_taskdamt_billid[LS_ROW]
  647. OpenWithParm(w_publ_preview,LS_PRMSG)
  648. //**更新打印次料
  649. String arg_msg
  650. printnum = Message.DoubleParm
  651. String ls_code
  652. ll_scid = dw_pageretr.Object.u_taskdamt_scid[LS_ROW]
  653. ls_code = dw_pageretr.Object.u_taskdamt_billcode[LS_ROW]
  654. f_update_printnum2(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE)
  655. end event
  656. event ue_print;call super::ue_print;//--直接打印
  657. uo_print_preview uo_print
  658. IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  659. S_print_MSG LS_PRMSG
  660. IF dw_pageretr.RowCount() = 0 THEN
  661. MessageBox('系统信息','没有可打印的单据!')
  662. RETURN
  663. END IF
  664. if ls_powerid = 0 then
  665. ls_powerid = 1693
  666. end if
  667. IF ls_newname <> '' THEN
  668. IF NOT f_power_ind(ls_powerid,sys_msg_pow) THEN
  669. MessageBox(publ_operator,sys_msg_pow)
  670. RETURN
  671. END IF
  672. IF li_auditprint = 1 THEN
  673. IF dw_pageretr.Object.u_taskdamt_flag[dw_pageretr.GetRow()] = 0 THEN
  674. MessageBox('NO','目标单据还未审核,不能打印!')
  675. RETURN
  676. END IF
  677. END IF
  678. LS_PRMSG.obj_dwNAME = ls_newname
  679. ELSE
  680. IF NOT f_power_ind(1693,sys_msg_pow) THEN
  681. MessageBox(publ_operator,sys_msg_pow)
  682. RETURN
  683. END IF
  684. LS_PRMSG.obj_dwNAME = 'dw_rp_cus_taskamt_edit'
  685. END IF
  686. IF LS_PRMSG.obj_dwNAME = '' THEN RETURN
  687. LS_PRMSG.printrow = ll_prownum
  688. LS_PRMSG.retr_pram_falg = 15
  689. LS_PRMSG.TAG_TEXT = '订单付款单'
  690. LS_PRMSG.FILTER_STRING = ''
  691. LS_PRMSG.PAGECH_FLAG = 0
  692. LS_PRMSG.retr_scid = dw_pageretr.Object.u_taskdamt_scid[dw_pageretr.GetRow()]
  693. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_taskdamt_billid[dw_pageretr.GetRow()]
  694. uo_print.FACT_PRINT_MSG = LS_PRMSG
  695. String arg_msg
  696. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  697. MessageBox("系统提示",arg_msg)
  698. RETURN
  699. END IF
  700. uo_print.ds_print()
  701. //**更新打印次料
  702. printnum = Message.DoubleParm
  703. String ls_code
  704. long ll_scid
  705. ll_scid = dw_pageretr.Object.u_taskdamt_scid[dw_pageretr.GetRow()]
  706. ls_code = dw_pageretr.Object.u_taskdamt_billcode[dw_pageretr.GetRow()]
  707. f_update_printnum2(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE)
  708. end event
  709. event ue_addzy;call super::ue_addzy;IF NOT f_power_ind(1692,sys_msg_pow) THEN
  710. MessageBox(publ_operator,sys_msg_pow)
  711. RETURN
  712. END IF
  713. IF dw_edit_mode THEN RETURN
  714. String arg_msg = ''
  715. String ls_str
  716. Long uc_row
  717. s_inputbox s_sreu
  718. uc_row = dw_pageretr.GetRow()
  719. IF uc_row <= 0 THEN
  720. MessageBox('系统提示','请选定当前目标单据!')
  721. RETURN
  722. END IF
  723. s_sreu.Title = '请输入要补充到备注的内容'
  724. s_sreu.old_text = ''
  725. OpenWithParm(w_inputbox,s_sreu)
  726. ls_str = Message.StringParm
  727. IF Trim(ls_str) = '' OR IsNull(ls_str) THEN RETURN
  728. IF uo_ware.add_dscrp(dw_pageretr.Object.u_taskdamt_billid[uc_row],ls_str,arg_msg,TRUE) = 0 THEN
  729. MessageBox('error!',arg_msg)
  730. RETURN
  731. ELSE
  732. MessageBox(publ_operator,'添加备注操作成功!')
  733. wf_refresh_curuc(dw_pageretr.Object.u_taskdamt_billid[uc_row])
  734. END IF
  735. end event
  736. event ue_f8;call super::ue_f8;//用于选择明细内容,被F9[默认]
  737. IF NOT dw_edit_mode THEN RETURN
  738. Long child_row
  739. child_row = dw_child.GetRow()
  740. IF child_row = 0 THEN RETURN
  741. dw_child.AcceptText()
  742. Long ll_cusid,ll_billtype
  743. Long ls_taskid,ls_j
  744. String ls_taskcode
  745. Long ll_scid
  746. ll_cusid = dw_uc.Object.u_taskdamt_cussptid[dw_uc.GetRow()]
  747. IF IsNull(ll_cusid) OR ll_cusid = 0 THEN
  748. MessageBox(publ_operator,'请先选择供应商')
  749. RETURN
  750. END IF
  751. IF dw_uc.Object.u_taskdamt_billid[dw_uc.GetRow()] = 0 THEN
  752. ll_scid = cur_scid
  753. ELSE
  754. ll_scid = dw_uc.Object.u_taskdamt_scid[dw_uc.GetRow()]
  755. END IF
  756. IF NOT IsValid(w_taskamt_ch) THEN
  757. s_edit_index_tran s_ch_tran //传递参数使用
  758. s_ch_tran.if_retrieve_all = FALSE //是否一次RETRIEVE所有行
  759. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  760. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  761. s_ch_tran.b_long = ll_scid
  762. s_ch_tran.c_long = ll_cusid
  763. //查询列(物料编码)部分内容,用于初步筛选
  764. s_ch_tran.arg_string_code = Upper(Trim(dw_child.Object.u_taskdamt_mx_reltaskcode[dw_child.GetRow()]))
  765. s_ch_tran.b_string = 'buy'
  766. OpenWithParm(w_taskamt_ch,s_ch_tran) //调用
  767. s_saletask_ch_arr S_INSCUST
  768. S_INSCUST = Message.PowerObjectParm //接受返回结构
  769. IF UpperBound(S_INSCUST.taskid) = 0 THEN RETURN
  770. IF S_INSCUST.taskid[1] > 0 THEN //正常返回值则可以取以下值
  771. dw_child.SetRedraw(FALSE)
  772. IF dw_child.GetRow() > 0 THEN
  773. IF dw_child.Object.u_taskdamt_mx_relid[child_row] <> 0 THEN
  774. child_row = dw_child.InsertRow (0)
  775. ELSE
  776. child_row = dw_child.GetRow()
  777. END IF
  778. ELSE
  779. child_row = dw_child.InsertRow (0)
  780. END IF
  781. dw_child.Object.u_taskdamt_mx_scid[child_row] = ll_scid
  782. dw_child.Object.u_taskdamt_mx_reltaskcode[child_row] = S_INSCUST.taskcode[1]
  783. dw_child.Object.u_saletask_relcode[child_row] = S_INSCUST.relcode[1]
  784. /// dw_child.Object.u_taskdamt_mx_damt[child_row] = S_INSCUST.damt[1]
  785. dw_child.Object.u_taskdamt_mx_relid[child_row] = S_INSCUST.taskid[1]
  786. dw_child.Object.u_taskdamt_mx_billamt[child_row] = S_INSCUST.billamt[1]
  787. dw_child.Object.u_taskdamt_mx_reltakeamt[child_row] = S_INSCUST.takeamt[1]
  788. dw_child.Object.u_taskdamt_mx_takeamt[child_row] = S_INSCUST.noamt[1]
  789. // IF sys_option_m_msttake = 1 THEN
  790. dw_child.Object.u_taskdamt_mx_realmoneyid[child_row] = S_INSCUST.moneyid[1]
  791. // ELSE
  792. // dw_child.Object.u_taskdamt_mx_realmoneyid[child_row] = il_moneyid_native
  793. // END IF
  794. dw_child.Object.u_taskdamt_mx_banktypeid[child_row] = S_INSCUST.banktypeid[1]
  795. ///dw_child.Object.u_taskdamt_mx_reldamt[child_row] = S_INSCUST.takedamt[1]
  796. dw_child.Object.moneyid_native[child_row] = il_moneyid_native
  797. dw_child.SetRedraw(TRUE)
  798. dw_child.SetColumn("u_taskdamt_mx_accountsid")
  799. END IF
  800. END IF
  801. end event
  802. event ue_rpt_viewprint;call super::ue_rpt_viewprint;
  803. Long row,uc_relid,ll_scid
  804. row = dw_pageretr.GetRow()
  805. IF row = 0 THEN RETURN
  806. IF ls_rpname = '' THEN RETURN
  807. IF li_auditprint = 1 THEN
  808. IF dw_pageretr.Object.u_taskdamt_flag[row] = 0 THEN
  809. MessageBox('NO','目标单据还未审核,不能打印!')
  810. RETURN
  811. END IF
  812. END IF
  813. s_rpt_print_msg s_print
  814. s_print.retr_pram_falg = 15
  815. s_print.rpid = ls_msgprintid_rpt
  816. s_print.retr_flag = TRUE
  817. s_print.tag_text = THIS.Title
  818. s_print.rpname = ls_rpname
  819. s_print.retr_scid = dw_pageretr.Object.u_taskdamt_scid[row]
  820. s_print.retr_pramnmb = dw_pageretr.Object.u_taskdamt_billid[row]
  821. s_print.rowcnt = dw_child.RowCount()
  822. OpenWithParm(w_rpt_preview,s_print)
  823. //**更新打印次料
  824. String arg_msg
  825. printnum = Message.DoubleParm
  826. String ls_code
  827. ll_scid = dw_pageretr.Object.u_taskdamt_scid[row]
  828. ls_code = dw_pageretr.Object.u_taskdamt_billcode[row]
  829. f_update_printnum2(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE)
  830. end event
  831. event ue_rpt_print;call super::ue_rpt_print;Long row,uc_relid,ll_scid
  832. row = dw_pageretr.GetRow()
  833. IF row = 0 THEN RETURN
  834. uo_rpt_print_preview uo_print
  835. S_rpt_print_MSG LS_PRMSG
  836. IF dw_pageretr.RowCount() = 0 THEN
  837. MessageBox('系统信息','没有可打印的单据!')
  838. RETURN
  839. END IF
  840. IF ls_rpname = '' THEN RETURN
  841. IF li_auditprint = 1 THEN
  842. IF dw_pageretr.Object.u_taskdamt_flag[row] = 0 THEN
  843. MessageBox('NO','目标单据还未审核,不能打印!')
  844. RETURN
  845. END IF
  846. END IF
  847. IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  848. LS_PRMSG.retr_pram_falg = 15
  849. LS_PRMSG.TAG_TEXT = THIS.Title
  850. LS_PRMSG.rpname = ls_rpname
  851. LS_PRMSG.FILTER_STRING = ''
  852. LS_PRMSG.PAGECH_FLAG = 0
  853. LS_PRMSG.rpid = ls_msgprintid_rpt
  854. LS_PRMSG.retr_scid = dw_pageretr.Object.u_taskdamt_scid[row]
  855. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_taskdamt_billid[row]
  856. LS_PRMSG.rowcnt = dw_child.RowCount()
  857. uo_print.FACT_PRINT_MSG = LS_PRMSG
  858. String arg_msg
  859. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  860. MessageBox("系统提示",arg_msg)
  861. RETURN
  862. END IF
  863. uo_print.ds_print()
  864. //**更新打印次料
  865. printnum = Message.DoubleParm
  866. String ls_code
  867. ll_scid = dw_pageretr.Object.u_taskdamt_scid[row]
  868. ls_code = dw_pageretr.Object.u_taskdamt_billcode[row]
  869. f_update_printnum2(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE)
  870. end event
  871. event refresh_interface;call super::refresh_interface;ddlb_status.Enabled = NOT dw_edit_mode
  872. ddlb_scid.Enabled = NOT dw_edit_mode
  873. wf_flagstatus_rf()
  874. end event
  875. event ue_before_open;call super::ue_before_open;SELECT moneyid INTO :il_moneyid_native
  876. FROM cw_currency
  877. Where native = 1;
  878. IF sqlca.SQLCode <> 0 THEN
  879. il_moneyid_native = 0
  880. MessageBox('提示','查询本位币资料失败,请检查币种资料')
  881. END IF
  882. end event
  883. event ue_f10;call super::ue_f10;//用于选择明细内容,被F10[默认]
  884. If Not dw_edit_mode Then Return
  885. Long child_row
  886. Long ll_rst_accountsid,ll_accountid,ll_moneyid,ll_moneyid_account
  887. String ls_accountrep,ls_bankstr,ls_idcode,ls_dscrp
  888. child_row = dw_child.GetRow()
  889. If child_row = 0 Then
  890. MessageBox('系统提示','请选定单据!')
  891. Return
  892. End If
  893. dw_child.AcceptText()
  894. If Not IsValid(w_accounts_ch) Then
  895. s_edit_index_tran s_ch_tran //传递参数使用
  896. s_ch_tran.if_retrieve_all = True //是否一次retrieve所有行
  897. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  898. s_ch_tran.arg_pkid = 0 //目标定位pkid (备用)
  899. s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  900. OpenWithParm(w_accounts_ch,s_ch_tran) //调用
  901. ll_rst_accountsid = Message.DoubleParm //接受返回结构
  902. If ll_rst_accountsid > 0 Then //正常返回值则可以取以下值
  903. dw_child.SetRedraw(False)
  904. ll_moneyid = dw_child.Object.u_taskdamt_mx_realmoneyid[child_row]
  905. dw_child.Object.u_taskdamt_mx_accountsid[child_row] = ll_rst_accountsid
  906. Select moneyid,
  907. accountrep,
  908. bankstr,
  909. idcode,
  910. dscrp
  911. Into :ll_moneyid_account,
  912. :ls_accountrep,
  913. :ls_bankstr,
  914. :ls_idcode,
  915. :ls_dscrp
  916. From u_accounts
  917. Where accountsid = :ll_rst_accountsid;
  918. If sqlca.SQLCode <> 0 Then
  919. ll_moneyid_account = 0
  920. Return
  921. End If
  922. dw_child.Object.u_accounts_moneyid[child_row] = ll_moneyid_account
  923. dw_child.Object.u_accounts_accountrep[child_row] = ls_accountrep
  924. dw_child.Object.u_accounts_bankstr[child_row] = ls_bankstr
  925. dw_child.Object.u_accounts_idcode[child_row] = ls_idcode
  926. dw_child.Object.u_accounts_dscrp[child_row] = ls_dscrp
  927. If ll_moneyid = ll_moneyid_account Then
  928. dw_child.Object.u_taskdamt_mx_realrate[child_row] = 1
  929. Else
  930. dw_child.Object.u_taskdamt_mx_realrate[dw_child.GetRow()] = f_get_mrate(ll_moneyid)
  931. End If
  932. dw_child.SetColumn("u_taskdamt_mx_accountsid")
  933. dw_child.SetRedraw(True)
  934. End If
  935. End If
  936. end event
  937. type cb_func from w_publ_1ton_share_detail`cb_func within w_taskdamt_buy
  938. end type
  939. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_taskdamt_buy
  940. end type
  941. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_taskdamt_buy
  942. integer x = 187
  943. integer width = 549
  944. end type
  945. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_taskdamt_buy
  946. end type
  947. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_taskdamt_buy
  948. end type
  949. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_taskdamt_buy
  950. integer x = 1861
  951. integer width = 1687
  952. integer height = 1284
  953. string dataobject = "dw_taskdamt_index_buy"
  954. end type
  955. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_flagstatus_rf()
  956. end event
  957. type st_1 from w_publ_1ton_share_detail`st_1 within w_taskdamt_buy
  958. integer x = 14
  959. end type
  960. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_taskdamt_buy
  961. end type
  962. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_taskdamt_buy
  963. integer width = 1856
  964. integer height = 1284
  965. string dataobject = "dw_taskdamt_edit_buy"
  966. end type
  967. event dw_uc::dwnkey;PARENT.TriggerEvent('user_key')
  968. IF Key = KeyDownArrow! THEN RETURN 1
  969. INT RSLT=1
  970. STRING LS_MSG=''
  971. IF dw_edit_mode THEN
  972. IF dw_uc.GetColumnName ( ) = 'u_taskdamt_dscrp' AND Key = KeyEnter! THEN
  973. dw_child.ScrollToRow(1)
  974. dw_child.SetFocus()
  975. dw_child.SetColumn ('u_taskdamt_mx_billtype')
  976. RETURN 1
  977. ELSEIF dw_uc.GetColumnName ( ) = 'u_cust_cuscode' AND Key = KeyEnter! THEN
  978. String ls_code
  979. dw_uc.AcceptText()
  980. ls_code = Trim(dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()])
  981. s_custom arg_s_cust
  982. IF f_find_cust(ls_code,arg_s_cust) = 0 THEN
  983. PARENT.TriggerEvent('ue_f9')
  984. RETURN 1
  985. ELSE
  986. dw_uc.SetRedraw(FALSE)
  987. dw_uc.Object.u_taskdamt_cussptid[dw_uc.GetRow()] = arg_s_cust.cusid
  988. dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()] = arg_s_cust.cuscode
  989. dw_uc.Object.u_cust_name[dw_uc.GetRow()] = arg_s_cust.Name
  990. dw_uc.Object.u_cust_custype[dw_uc.GetRow()] =arg_s_cust.bsntype
  991. dw_uc.Object.u_cust_simplename[dw_uc.GetRow()] =arg_s_cust.simplename
  992. dw_uc.SetRedraw(TRUE)
  993. dw_uc.SetColumn("u_taskdamt_assign_emp")
  994. END IF
  995. ELSE
  996. IF Key = KeyEnter! THEN //
  997. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  998. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  999. RETURN 1
  1000. END IF
  1001. END IF
  1002. END IF
  1003. end event
  1004. event dw_uc::buttonclicked;call super::buttonclicked;if not dw_edit_mode then return
  1005. if row <= 0 then return
  1006. if dwo.name='b_spt' then
  1007. parent.TRIGGEREVENT('ue_f9')
  1008. end if
  1009. end event
  1010. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_taskdamt_buy
  1011. integer x = 105
  1012. integer y = 536
  1013. integer width = 338
  1014. integer height = 228
  1015. end type
  1016. type dw_child from w_publ_1ton_share_detail`dw_child within w_taskdamt_buy
  1017. integer y = 1584
  1018. integer width = 3547
  1019. integer height = 884
  1020. string dataobject = "dw_taskdamtmx_edit_buy"
  1021. end type
  1022. event dw_child::dwnkey;call super::dwnkey;PARENT.TriggerEvent('user_key')
  1023. IF dw_edit_mode THEN
  1024. dw_child.AcceptText()
  1025. IF KeyDown(keydownarrow!) THEN
  1026. Long li_row
  1027. IF dw_child.GetRow() = dw_child.RowCount() THEN
  1028. PARENT.TriggerEvent("insert_childrow")
  1029. END IF
  1030. ELSE
  1031. IF KeyDown(keyenter!) AND NOT KeyDown(keycontrol!) AND NOT KeyDown(keyshift!) THEN
  1032. IF dw_child.GetColumnName() = 'u_taskdamt_mx_reltaskcode' THEN
  1033. Long ll_scid,ll_cusid
  1034. Long ll_taskid,ll_banktypeid,ll_moneyid
  1035. String ls_taskcode
  1036. Decimal ld_damt,ld_billamt,ld_takeamt,ld_takedamt,ld_noamt
  1037. Long child_row
  1038. child_row = dw_child.GetRow()
  1039. ll_cusid = dw_uc.Object.u_taskdamt_cussptid[dw_uc.GetRow()]
  1040. ls_taskcode = dw_child.Object.u_taskdamt_mx_reltaskcode[child_row]
  1041. SELECT u_SaleTask.TaskID,
  1042. u_SaleTask.TaskCode,
  1043. u_SaleTask.banktypeid,
  1044. u_SaleTask.moneyid,
  1045. u_SaleTask.damt,
  1046. u_SaleTask.msttakeamt,
  1047. u_SaleTask.takeamt,
  1048. u_saletask.takedamt,
  1049. u_SaleTask.msttakeamt - u_SaleTask.takeamt - u_saletask.takedamt
  1050. INTO :ll_taskid,
  1051. :ls_taskcode,
  1052. :ll_banktypeid,
  1053. :ll_moneyid,
  1054. :ld_damt,
  1055. :ld_billamt,
  1056. :ld_takeamt,
  1057. :ld_takedamt,
  1058. :ld_noamt
  1059. FROM u_SaleTask
  1060. WHERE ( u_SaleTask.scid = :cur_scid OR :cur_scid = -1) AND
  1061. ( u_SaleTask.cusid = :ll_cusid) AND
  1062. ( u_SaleTask.TaskCode = :ls_taskcode) AND
  1063. ( u_SaleTask.Kind <> 0 ) ;
  1064. IF sqlca.SQLCode <> 0 THEN
  1065. PARENT.TriggerEvent('ue_f8')
  1066. ELSE
  1067. dw_child.Object.u_taskdamt_mx_reltaskcode[child_row] = ls_taskcode
  1068. dw_child.Object.u_taskdamt_mx_damt[child_row] = ld_damt
  1069. dw_child.Object.u_taskdamt_mx_relid[child_row] = ll_taskid
  1070. dw_child.Object.u_taskdamt_mx_billamt[child_row] = ld_billamt
  1071. dw_child.Object.u_taskdamt_mx_reltakeamt[child_row] = ld_takeamt
  1072. dw_child.Object.u_taskdamt_mx_takeamt[child_row] = ld_noamt
  1073. // IF sys_option_m_msttake = 1 THEN
  1074. // dw_child.Object.u_taskdamt_mx_realmoneyid[child_row] = ll_moneyid
  1075. // else
  1076. // dw_child.Object.u_taskdamt_mx_realmoneyid[child_row] = il_moneyid_native
  1077. // end if
  1078. dw_child.Object.u_taskdamt_mx_banktypeid[child_row] = ll_banktypeid
  1079. dw_child.Object.u_taskdamt_mx_reldamt[child_row] = ld_takedamt
  1080. END IF
  1081. dw_child.Object.moneyid_native[child_row] = il_moneyid_native
  1082. dw_child.AcceptText()
  1083. ELSEIF dw_child.GetColumnName( ) = 'u_taskdamt_mx_dscrp' AND dw_child.GetRow() = dw_child.RowCount() THEN
  1084. PARENT.TriggerEvent("insert_childrow")
  1085. RETURN 1
  1086. ELSE
  1087. IF Key = keyenter! THEN
  1088. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1089. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1090. RETURN 1
  1091. END IF
  1092. END IF
  1093. END IF
  1094. END IF
  1095. END IF
  1096. end event
  1097. event dw_child::itemchanged;call super::itemchanged;IF NOT dw_edit_mode THEN RETURN
  1098. dw_child.AcceptText()
  1099. IF dw_child.GetRow() <= 0 THEN RETURN
  1100. Long ll_moneyid,ll_accountsid,ll_moneyid_account
  1101. IF dwo.Name = 'u_taskdamt_mx_realmoneyid' THEN
  1102. ll_moneyid = dw_child.Object.u_taskdamt_mx_realmoneyid[dw_child.GetRow()]
  1103. dw_child.SetRedraw(FALSE)
  1104. dw_child.Object.u_taskdamt_mx_realrate[dw_child.GetRow()] = f_get_mrate(ll_moneyid)
  1105. ll_moneyid_account = dw_child.Object.u_accounts_moneyid[row]
  1106. IF ll_moneyid = ll_moneyid_account THEN
  1107. dw_child.Object.u_taskdamt_mx_realrate[row] = 1
  1108. END IF
  1109. dw_child.SetRedraw(TRUE)
  1110. ELSEIF dwo.Name = 'u_taskdamt_mx_accountsid' THEN
  1111. ll_moneyid = dw_child.Object.u_taskdamt_mx_realmoneyid[dw_child.GetRow()]
  1112. ll_accountsid = dw_child.Object.u_taskdamt_mx_accountsid[dw_child.GetRow()]
  1113. SELECT moneyid INTO :ll_moneyid_account
  1114. FROM u_accounts
  1115. Where accountsid = :ll_accountsid;
  1116. IF sqlca.SQLCode <> 0 THEN
  1117. ll_moneyid_account = 0
  1118. END IF
  1119. dw_child.Object.u_accounts_moneyid[row] = ll_moneyid_account
  1120. IF ll_moneyid = ll_moneyid_account THEN
  1121. dw_child.Object.u_taskdamt_mx_realrate[row] = 1
  1122. else
  1123. dw_child.Object.u_taskdamt_mx_realrate[row] = f_get_mrate(ll_moneyid_account)
  1124. END IF
  1125. END IF
  1126. end event
  1127. event dw_child::doubleclicked;If dw_edit_mode Then
  1128. If dwo.Name = 'u_taskdamt_mx_accountsid' Then
  1129. Parent.TriggerEvent('ue_f10')
  1130. Else
  1131. Parent.TriggerEvent('ue_f8')
  1132. End If
  1133. End If
  1134. end event
  1135. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_taskdamt_buy
  1136. end type
  1137. type cb_print from w_publ_1ton_share_detail`cb_print within w_taskdamt_buy
  1138. end type
  1139. type cb_add from w_publ_1ton_share_detail`cb_add within w_taskdamt_buy
  1140. end type
  1141. event cb_add::clicked;IF Not f_power_ind(1883,sys_msg_pow) THEN
  1142. MessageBox(publ_operator,sys_msg_pow)
  1143. RETURN
  1144. END IF
  1145. String arg_msg = ''
  1146. Long uc_row,pagerert_row,i,count
  1147. Long relid_pageretr,reld_uc,j
  1148. s_taskdamt arg_s_bd
  1149. IF cur_scid < 0 THEN
  1150. MessageBox('提示','请选择分部')
  1151. RETURN
  1152. END IF
  1153. IF dw_edit_mode THEN
  1154. dw_uc.AcceptText()
  1155. dw_child.AcceptText()
  1156. uc_row = dw_uc.GetRow()
  1157. IF uc_row <= 0 THEN
  1158. MessageBox('系统提示','请选定当前目标单据!')
  1159. RETURN
  1160. END IF
  1161. IF Not dw_uc.Object.u_taskdamt_billdate[uc_row] > DateTime(2000-01-01,Now()) THEN
  1162. MessageBox('系统提示','不合理单据时间!')
  1163. dw_uc.SetFocus()
  1164. dw_uc.SetColumn("u_taskdamt_billdate")
  1165. RETURN
  1166. END IF
  1167. IF Not Len(String(dw_uc.Object.u_taskdamt_assign_emp[uc_row])) > 0 THEN
  1168. MessageBox('系统提示','请填写经手人!')
  1169. dw_uc.SetFocus()
  1170. dw_uc.SetColumn("u_taskdamt_assign_emp")
  1171. RETURN
  1172. END IF
  1173. IF dw_uc.Object.u_taskdamt_billid[uc_row] = 0 THEN
  1174. arg_s_bd.scid = cur_scid
  1175. ELSE
  1176. arg_s_bd.scid = dw_uc.Object.u_taskdamt_scid[uc_row]
  1177. END IF
  1178. IF wf_check_taskamt(arg_msg) = 0 then
  1179. MessageBox('提示',arg_msg + ',不能保存!',information!,OK!)
  1180. RETURN
  1181. END IF
  1182. arg_s_bd.billid = dw_uc.Object.u_taskdamt_billid[uc_row]
  1183. arg_s_bd.cussptid = dw_uc.Object.u_taskdamt_cussptid[uc_row]
  1184. arg_s_bd.part = dw_uc.Object.u_taskdamt_part[uc_row]
  1185. arg_s_bd.billdate = dw_uc.Object.u_taskdamt_billdate[uc_row]
  1186. arg_s_bd.assign_emp = dw_uc.Object.u_taskdamt_assign_emp[uc_row]
  1187. arg_s_bd.dscrp = dw_uc.Object.u_taskdamt_dscrp[uc_row]
  1188. arg_s_bd.ifauto = dw_uc.Object.u_taskdamt_ifauto[uc_row]
  1189. arg_s_bd.dscrp_yt = dw_uc.Object.u_taskdamt_dscrp_yt[uc_row]
  1190. arg_s_bd.dscrp_sm = dw_uc.Object.u_taskdamt_dscrp_sm[uc_row]
  1191. arg_s_bd.dscrp_yq = dw_uc.Object.u_taskdamt_dscrp_yq[uc_row]
  1192. arg_s_bd.billtype = 1
  1193. count = 0
  1194. FOR i = 1 To dw_child.RowCount()
  1195. IF dw_child.Object.u_taskdamt_mx_relid[i] > 0 And (dw_child.Object.u_taskdamt_mx_takeamt[i] > 0 )THEN//Or dw_child.Object.u_taskdamt_mx_damt[i] > 0) THEN
  1196. count++
  1197. arg_s_bd.arg_s_mx[count].scid = dw_child.Object.u_taskdamt_mx_scid[i]
  1198. arg_s_bd.arg_s_mx[count].billid = dw_child.Object.u_taskdamt_mx_billid[i]
  1199. arg_s_bd.arg_s_mx[count].printid = count
  1200. arg_s_bd.arg_s_mx[count].relid = dw_child.Object.u_taskdamt_mx_relid[i]
  1201. arg_s_bd.arg_s_mx[count].reltaskcode = dw_child.Object.u_taskdamt_mx_reltaskcode[i]
  1202. arg_s_bd.arg_s_mx[count].damt = 0//dw_child.Object.u_taskdamt_mx_damt[i]
  1203. arg_s_bd.arg_s_mx[count].dscrp = dw_child.Object.u_taskdamt_mx_dscrp[i]
  1204. arg_s_bd.arg_s_mx[count].accountsid = dw_child.Object.u_taskdamt_mx_accountsid[i]
  1205. arg_s_bd.arg_s_mx[count].billamt = dw_child.Object.u_taskdamt_mx_billamt[i]
  1206. arg_s_bd.arg_s_mx[count].itemid = dw_child.Object.u_taskdamt_mx_itemid[i]
  1207. arg_s_bd.arg_s_mx[count].takeamt = dw_child.Object.u_taskdamt_mx_takeamt[i]
  1208. arg_s_bd.arg_s_mx[count].reltakeamt = dw_child.Object.u_taskdamt_mx_reltakeamt[i]
  1209. arg_s_bd.arg_s_mx[count].realmoneyid = dw_child.Object.u_taskdamt_mx_realmoneyid[i]
  1210. arg_s_bd.arg_s_mx[count].realrate = dw_child.Object.u_taskdamt_mx_realrate[i]
  1211. arg_s_bd.arg_s_mx[count].billtype =0//dw_child.Object.u_taskdamt_mx_billtype[i]
  1212. arg_s_bd.arg_s_mx[count].banktypeid = dw_child.Object.u_taskdamt_mx_banktypeid[i]
  1213. arg_s_bd.arg_s_mx[count].reldamt = 0//dw_child.Object.u_taskdamt_mx_reldamt[i]
  1214. END IF
  1215. NEXT
  1216. IF uo_ware.Save(arg_s_bd,arg_msg,True) = 0 THEN
  1217. MessageBox('error!',arg_msg)
  1218. RETURN
  1219. END IF
  1220. MessageBox(publ_operator,'保存操作成功!')
  1221. Long ll_row
  1222. ll_row = dw_pageretr.GetRow()
  1223. dw_pageretr.SelectRow(0,False)
  1224. dw_pageretr.SelectRow(ll_row,True)
  1225. wf_refresh_curuc(uo_ware.uo_billid) //刷新uc
  1226. END IF
  1227. CALL Super::Clicked
  1228. //read ini
  1229. IF dw_edit_mode THEN
  1230. SELECT top 1 u_taskdamt_mx.accountsid,
  1231. u_taskdamt_mx.realmoneyid,
  1232. u_taskdamt_mx.itemid,
  1233. u_taskdamt_mx.banktypeid,
  1234. u_accounts.moneyid
  1235. INTO :ins_accountsid_last,
  1236. :ins_realmoneyid_last,
  1237. :ins_itemid_last,
  1238. :ins_banktypeid_last,
  1239. :ins_accounts_moneyid
  1240. FROM u_taskdamt_mx LEFT OUTER JOIN
  1241. u_accounts ON u_taskdamt_mx.accountsid = u_accounts.accountsid
  1242. Order By u_taskdamt_mx.billid Desc;
  1243. IF sqlca.SQLCode = 0 THEN
  1244. IF ins_realmoneyid_last = ins_accounts_moneyid THEN
  1245. ins_realrate_last = 1
  1246. ELSE
  1247. ins_realrate_last = f_get_mrate(ins_accounts_moneyid)
  1248. END IF
  1249. END IF
  1250. Parent.TriggerEvent("insert_childrow")
  1251. dw_uc.SetRedraw(False)
  1252. dw_uc.Object.u_taskdamt_assign_emp[dw_uc.GetRow()] = publ_operator
  1253. dw_uc.Object.u_taskdamt_billtype[dw_uc.GetRow()] =1
  1254. dw_uc.SetColumn("u_taskdamt_billdate")
  1255. dw_uc.SetRedraw(True)
  1256. ELSE
  1257. Parent.TriggerEvent("retrieve_childdw")
  1258. IF cbx_1.Checked THEN cb_add.PostEvent(Clicked!)
  1259. END IF
  1260. end event
  1261. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_taskdamt_buy
  1262. end type
  1263. event cb_edit::clicked;IF Not f_power_ind(1883,sys_msg_pow) THEN
  1264. MessageBox(publ_operator,sys_msg_pow)
  1265. RETURN
  1266. END IF
  1267. String arg_msg = ''
  1268. Long uc_row
  1269. uc_row = dw_pageretr.GetRow()
  1270. IF uc_row <= 0 THEN
  1271. MessageBox('系统提示','请选定当前目标单据!')
  1272. RETURN
  1273. END IF
  1274. IF NOT dw_edit_mode THEN
  1275. IF uo_ware.updatebegin(dw_pageretr.Object.u_taskdamt_scid[uc_row],dw_pageretr.Object.u_taskdamt_billid[uc_row],arg_msg) = 0 THEN
  1276. MessageBox('Error!',arg_msg)
  1277. RETURN
  1278. END IF
  1279. wf_refresh_curuc(dw_pageretr.Object.u_taskdamt_billid[uc_row]) //刷新uc
  1280. PARENT.TriggerEvent("retrieve_childdw")
  1281. END IF
  1282. CALL SUPER::Clicked
  1283. end event
  1284. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_taskdamt_buy
  1285. end type
  1286. event cb_delet::clicked;call super::clicked;IF Not f_power_ind(1884,sys_msg_pow) THEN
  1287. MessageBox(publ_operator,sys_msg_pow)
  1288. RETURN
  1289. END IF
  1290. String arg_msg = ''
  1291. IF dw_edit_mode THEN RETURN
  1292. IF MessageBox ("if","是否确定要删除当前单据?",question!,yesno! ) = 2 THEN RETURN
  1293. Long uc_row
  1294. uc_row = dw_pageretr.GetRow()
  1295. IF uc_row <= 0 THEN
  1296. MessageBox('系统提示','请选定当前目标单据!')
  1297. RETURN
  1298. END IF
  1299. IF uo_ware.Cancel(dw_pageretr.Object.u_taskdamt_billid[uc_row],arg_msg,TRUE) = 0 THEN
  1300. MessageBox('error!',arg_msg)
  1301. ELSE
  1302. //日志
  1303. Long ls_id
  1304. String ls_code
  1305. ls_id = dw_pageretr.Object.u_taskdamt_billid[uc_row]
  1306. ls_code = dw_pageretr.Object.u_taskdamt_billcode[uc_row]
  1307. f_setsysoplog('订单付款单','订单付款单删除,id:'+String(ls_id)+',code:'+ls_code,arg_msg,TRUE)
  1308. //--
  1309. MessageBox(publ_operator,'删除单据'+String(dw_pageretr.Object.u_taskdamt_billcode[uc_row])+'成功!')
  1310. dw_pageretr.DeleteRow(uc_row)
  1311. dw_pageretr.Triggerevent(rowfocuschanged!)
  1312. END IF
  1313. end event
  1314. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_taskdamt_buy
  1315. end type
  1316. event cb_addzy::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1317. String menustr
  1318. IF NOT dw_edit_mode THEN
  1319. menustr = "Text=增加备注~tEvent=ue_addzy"
  1320. menustr += "|" + "Text=-"
  1321. menustr += "|" + "Text=查看附件~tEvent=ue_fj_view"
  1322. menustr += "|" + "Text=添加附件~tEvent=ue_fj_edit"
  1323. END IF
  1324. IF Len(Trim(menustr)) <> 0 THEN
  1325. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  1326. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  1327. dmPopupMenu.mf_PopMenu()
  1328. DESTROY dmPopupMenu
  1329. END IF
  1330. end event
  1331. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_taskdamt_buy
  1332. end type
  1333. event cb_auditing::clicked;call super::clicked;IF NOT f_power_ind(1885,sys_msg_pow) THEN
  1334. MessageBox(publ_operator,sys_msg_pow)
  1335. RETURN
  1336. END IF
  1337. IF dw_edit_mode THEN RETURN
  1338. String arg_msg = ''
  1339. Long pagerert_row,ll_scid,ll_taskdamtid
  1340. pagerert_row = dw_pageretr.GetRow()
  1341. IF pagerert_row <= 0 THEN
  1342. MessageBox('系统提示','请选定当前目标单据!')
  1343. RETURN
  1344. END IF
  1345. IF MessageBox ("if","是否确定要审核当前单据?",question!,yesno! ) = 2 THEN RETURN
  1346. ll_taskdamtid = dw_pageretr.Object.u_taskdamt_billid[pagerert_row]
  1347. IF uo_ware.audit(ll_taskdamtid,arg_msg,TRUE) = 0 THEN
  1348. MessageBox('error!',arg_msg)
  1349. ELSE
  1350. MessageBox(publ_operator,'审核成功!')
  1351. wf_refresh_curuc(ll_taskdamtid)
  1352. END IF
  1353. end event
  1354. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_taskdamt_buy
  1355. end type
  1356. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_taskdamt_buy
  1357. end type
  1358. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_taskdamt_buy
  1359. end type
  1360. type cb_help from w_publ_1ton_share_detail`cb_help within w_taskdamt_buy
  1361. end type
  1362. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_taskdamt_buy
  1363. end type
  1364. event cb_auditing_cancel::clicked;call super::clicked;IF NOT f_power_ind(1886,sys_msg_pow) THEN
  1365. MessageBox(publ_operator,sys_msg_pow)
  1366. RETURN
  1367. END IF
  1368. IF dw_edit_mode THEN RETURN
  1369. String arg_msg = ''
  1370. Long pagerert_row,ls_id
  1371. pagerert_row = dw_pageretr.GetRow()
  1372. IF pagerert_row <= 0 THEN
  1373. MessageBox('系统提示','请选定当前目标单据!')
  1374. RETURN
  1375. END IF
  1376. IF MessageBox ("IF","是否确定要撤审当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1377. ls_id = dw_pageretr.Object.u_taskdamt_billid[pagerert_row]
  1378. IF uo_ware.caudit(0,ls_id,arg_msg,TRUE) = 0 THEN
  1379. MessageBox('Error!',arg_msg)
  1380. ELSE
  1381. MessageBox(publ_operator,'撤审成功!')
  1382. //日志
  1383. String ls_code,ls_opemp,ls_outpart
  1384. ls_code = dw_pageretr.Object.u_taskdamt_billcode[pagerert_row]
  1385. ls_opemp = dw_pageretr.Object.u_taskdamt_opemp[pagerert_row]
  1386. ls_outpart = dw_pageretr.Object.u_taskdamt_part[pagerert_row]
  1387. f_setsysoplog('订金付款单','撤审'+',code:'+ls_code+',相关号码:'+ls_outpart+',建立人:'+ls_opemp,arg_msg,TRUE)
  1388. //--
  1389. wf_refresh_curuc(ls_id)
  1390. END IF
  1391. end event
  1392. type p_msg from w_publ_1ton_share_detail`p_msg within w_taskdamt_buy
  1393. end type
  1394. type p_help from w_publ_1ton_share_detail`p_help within w_taskdamt_buy
  1395. end type
  1396. type p_encl from w_publ_1ton_share_detail`p_encl within w_taskdamt_buy
  1397. end type
  1398. type p_other from w_publ_1ton_share_detail`p_other within w_taskdamt_buy
  1399. end type
  1400. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_taskdamt_buy
  1401. end type
  1402. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_taskdamt_buy
  1403. end type
  1404. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_taskdamt_buy
  1405. end type
  1406. type r_bar from w_publ_1ton_share_detail`r_bar within w_taskdamt_buy
  1407. end type
  1408. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_taskdamt_buy
  1409. end type
  1410. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_taskdamt_buy
  1411. end type
  1412. type ddlb_scid from uo_ddlb_scid within w_taskdamt_buy
  1413. integer x = 887
  1414. integer y = 188
  1415. integer width = 549
  1416. integer height = 468
  1417. boolean bringtotop = true
  1418. end type
  1419. event constructor;call super::constructor;cur_scid=this.uo_scid
  1420. //cur_scid_arr = THIS.uo_scid_arr
  1421. end event
  1422. event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
  1423. //cur_scid_arr = THIS.uo_scid_arr
  1424. parent.triggerevent("retrieve_pageretr")
  1425. end event
  1426. type ddlb_status from dropdownlistbox within w_taskdamt_buy
  1427. integer x = 1586
  1428. integer y = 188
  1429. integer width = 357
  1430. integer height = 468
  1431. integer taborder = 40
  1432. boolean bringtotop = true
  1433. integer textsize = -9
  1434. integer weight = 400
  1435. fontcharset fontcharset = gb2312charset!
  1436. fontpitch fontpitch = variable!
  1437. string facename = "宋体"
  1438. long textcolor = 33554432
  1439. string text = "[全部]"
  1440. boolean sorted = false
  1441. string item[] = {"[全部]","待审核","已审核"}
  1442. borderstyle borderstyle = stylelowered!
  1443. end type
  1444. event selectionchanged;if index=1 then
  1445. cur_flag=-1
  1446. elseif index=2 then
  1447. cur_flag= 0
  1448. elseif index=3 then
  1449. cur_flag= 1
  1450. end if
  1451. parent.triggerevent('retrieve_pageretr')
  1452. end event
  1453. type st_2 from statictext within w_taskdamt_buy
  1454. integer x = 713
  1455. integer y = 200
  1456. integer width = 160
  1457. integer height = 60
  1458. integer textsize = -9
  1459. integer weight = 400
  1460. fontcharset fontcharset = gb2312charset!
  1461. fontpitch fontpitch = variable!
  1462. string facename = "宋体"
  1463. long textcolor = 33554432
  1464. long backcolor = 134217739
  1465. string text = "分部"
  1466. alignment alignment = right!
  1467. boolean focusrectangle = false
  1468. end type
  1469. type st_3 from statictext within w_taskdamt_buy
  1470. integer x = 1413
  1471. integer y = 196
  1472. integer width = 160
  1473. integer height = 48
  1474. integer textsize = -9
  1475. integer weight = 400
  1476. fontcharset fontcharset = gb2312charset!
  1477. fontpitch fontpitch = variable!
  1478. string facename = "宋体"
  1479. long textcolor = 33554432
  1480. long backcolor = 134217739
  1481. string text = "状态"
  1482. alignment alignment = right!
  1483. boolean focusrectangle = false
  1484. end type
  1485. type cbx_1 from checkbox within w_taskdamt_buy
  1486. integer x = 1993
  1487. integer y = 196
  1488. integer width = 411
  1489. integer height = 60
  1490. boolean bringtotop = true
  1491. integer textsize = -9
  1492. integer weight = 400
  1493. fontcharset fontcharset = gb2312charset!
  1494. fontpitch fontpitch = variable!
  1495. string facename = "宋体"
  1496. long textcolor = 33554432
  1497. long backcolor = 134217739
  1498. string text = "保存自动新建"
  1499. end type
  1500. event constructor;int li_auto
  1501. li_auto =long(f_profilestring(sys_empid, parent.title, "auto_add", string(0)))
  1502. if li_auto = 1 then
  1503. cbx_1.checked = true
  1504. else
  1505. cbx_1.checked = false
  1506. end if
  1507. end event