w_taskdamt.srw 51 KB

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