w_msttake_other.srw 56 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292
  1. $PBExportHeader$w_msttake_other.srw
  2. forward
  3. global type w_msttake_other from w_publ_1ton_share_detail
  4. end type
  5. type ddlb_status from dropdownlistbox within w_msttake_other
  6. end type
  7. type st_3 from statictext within w_msttake_other
  8. end type
  9. type ddlb_itemflag from dropdownlistbox within w_msttake_other
  10. end type
  11. type st_2 from statictext within w_msttake_other
  12. end type
  13. type ddlb_scid from uo_ddlb_scid within w_msttake_other
  14. end type
  15. type st_4 from statictext within w_msttake_other
  16. end type
  17. type cbx_1 from checkbox within w_msttake_other
  18. end type
  19. end forward
  20. global type w_msttake_other from w_publ_1ton_share_detail
  21. string title = "其它应收单"
  22. boolean maxbox = true
  23. windowstate windowstate = maximized!
  24. event ue_dept_ch ( )
  25. event insert_childrow ( )
  26. event ue_fj_edit ( )
  27. event ue_fj_view ( )
  28. event ue_f19 ( )
  29. ddlb_status ddlb_status
  30. st_3 st_3
  31. ddlb_itemflag ddlb_itemflag
  32. st_2 st_2
  33. ddlb_scid ddlb_scid
  34. st_4 st_4
  35. cbx_1 cbx_1
  36. end type
  37. global w_msttake_other w_msttake_other
  38. type variables
  39. uo_msttake_other uo_ie
  40. Int cur_flag = -1
  41. Int cur_secflag = -1
  42. Int cur_itemflag = 1
  43. Long cur_scid
  44. end variables
  45. forward prototypes
  46. public function integer wf_refresh_curuc (long arg_billid)
  47. public function integer wf_statusbtn_fc ()
  48. public subroutine wf_autofrom_oppose_cust (long arg_billid, readonly string arg_billcode, decimal arg_amt)
  49. end prototypes
  50. event ue_dept_ch();IF Not dw_edit_mode THEN RETURN
  51. Long uc_row
  52. uc_row = dw_uc.GetRow()
  53. IF uc_row <= 0 THEN
  54. MessageBox('系统提示','请先选择单据')
  55. RETURN
  56. END IF
  57. Open(w_department_ch)
  58. s_deptype s_dep_rst
  59. s_dep_rst = Message.PowerObjectParm
  60. IF s_dep_rst.departmentid > 0 THEN
  61. dw_uc.Object.u_income_expenses_deptid[uc_row] = s_dep_rst.departmentid
  62. END IF
  63. dw_uc.AcceptText()
  64. end event
  65. event insert_childrow();Long li_row
  66. DateTime ld_nulltime
  67. SetNull(ld_nulltime)
  68. li_row = dw_child.InsertRow(0)
  69. dw_child.ScrollToRow(li_row)
  70. dw_child.SetColumn ('u_itemdef_itemcode')
  71. end event
  72. event ue_fj_edit();IF dw_edit_mode THEN
  73. MessageBox('提示','编辑状态下不可用')
  74. RETURN
  75. END IF
  76. IF NOT f_power_ind(3494,sys_msg_pow) THEN
  77. MessageBox(publ_operator,sys_msg_pow)
  78. RETURN
  79. END IF
  80. s_edit_index_tran s_pic
  81. Long ll_ConnectionID
  82. String arg_msg
  83. Long ls_row
  84. ls_row = dw_pageretr.GetRow()
  85. IF ls_row <= 0 THEN
  86. RETURN
  87. END IF
  88. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  89. MessageBox('提示','没有指定附件数据库连接'+arg_msg)
  90. RETURN
  91. END IF
  92. s_pic.f_long = 512 //其它收入支出单的mainID
  93. s_pic.f_string = dw_pageretr.Object.u_income_expenses_billcode[ls_row]
  94. s_pic.g_long = dw_pageretr.Object.u_income_expenses_billid[ls_row]
  95. s_pic.e_long = dw_pageretr.Object.scid[ls_row]
  96. s_pic.sqltransaction = sys_filedb_sqlca
  97. OpenWithParm(w_fj_bill_mng,s_pic)
  98. //wf_check_billfj()
  99. end event
  100. event ue_fj_view();IF dw_edit_mode THEN
  101. MessageBox('提示','编辑状态下不可用')
  102. RETURN
  103. END IF
  104. s_edit_index_tran s_pic
  105. Long ll_ConnectionID
  106. String arg_msg
  107. Long ls_row
  108. ls_row = dw_pageretr.GetRow()
  109. IF ls_row <= 0 THEN
  110. RETURN
  111. END IF
  112. IF f_get_outerconnection(ll_ConnectionID,arg_msg) = 0 THEN
  113. MessageBox('提示','没有指定附件数据库连接'+arg_msg)
  114. RETURN
  115. END IF
  116. s_pic.f_long = 512 //其它收入支出单的mainID
  117. s_pic.f_string = dw_pageretr.Object.u_income_expenses_billcode[ls_row]
  118. s_pic.g_long = dw_pageretr.Object.u_income_expenses_billid[ls_row]
  119. s_pic.e_long = dw_pageretr.Object.scid[ls_row]
  120. s_pic.sqltransaction = sys_filedb_sqlca
  121. OpenWithParm(w_fj_bill_view,s_pic)
  122. end event
  123. event ue_f19();
  124. IF Not dw_edit_mode THEN RETURN
  125. Long child_row
  126. child_row = dw_uc.GetRow()
  127. IF child_row = 0 THEN
  128. MessageBox('提示','请选定单据!',information!,OK!)
  129. RETURN
  130. END IF
  131. Long ll_scid, ll_moneyid
  132. String ls_address
  133. dw_uc.AcceptText()
  134. IF Not IsValid(W_cust_edit) THEN
  135. s_edit_index_tran s_ch_tran //传递参数使用
  136. s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行
  137. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  138. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  139. //查询列(物料编码)部分内容,用于初步筛选
  140. s_ch_tran.arg_string_code = Upper(Trim(dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()]))
  141. OpenWithParm(W_cust_edit,s_ch_tran) //调用
  142. s_custom S_INSCUST
  143. S_INSCUST = Message.PowerObjectParm //接受返回结构
  144. IF S_INSCUST.cusid > 0 THEN //正常返回值则可以取以下值
  145. dw_uc.Object.spt_cus_id[child_row] = S_INSCUST.cusid
  146. dw_uc.Object.u_cust_cusname[child_row] = S_INSCUST.Name
  147. dw_uc.Object.u_cust_cuscode[child_row] = S_INSCUST.cuscode
  148. IF S_INSCUST.banktypeid > 0 THEN
  149. dw_uc.Object.u_income_expenses_banktypeid[child_row] = S_INSCUST.banktypeid
  150. END IF
  151. dw_uc.SetRedraw(True)
  152. dw_uc.SetFocus()
  153. dw_uc.SetColumn("u_income_expenses_credencecode")
  154. END IF
  155. END IF
  156. //this.enabled = true
  157. end event
  158. public function integer wf_refresh_curuc (long arg_billid);IF arg_billid <= 0 Or IsNull(arg_billid) THEN RETURN 0
  159. Long uc_row
  160. uc_row = dw_pageretr.GetRow()
  161. IF uc_row <= 0 THEN RETURN 0
  162. String billcode
  163. String credencecode
  164. Long banktypeid
  165. Decimal amt
  166. Long accountsid
  167. DateTime outdate
  168. String Descrp
  169. String rep
  170. String itemcode
  171. Long rapmoneyid
  172. Long itemid
  173. String itemname
  174. String itemtype
  175. String itemsectype
  176. Long itemflag
  177. String Opemp
  178. DateTime Opdate
  179. DateTime ModDate
  180. String ModEmp
  181. Long flag
  182. String auditemp
  183. DateTime auditdate
  184. Long secflag
  185. String secauditemp
  186. DateTime secauditdate
  187. Long deptid
  188. Long scid
  189. String cw_department_handtype,ls_accountsname
  190. string ls_cuscode,ls_cusname
  191. decimal dec_finish_amt
  192. SELECT
  193. U_income_expenses.outdate,
  194. U_income_expenses.banktypeid,
  195. U_income_expenses.credencecode,
  196. U_income_expenses.accountsid,
  197. U_income_expenses.rep,
  198. U_income_expenses.Descrp,
  199. U_income_expenses.rapmoneyid,
  200. U_income_expenses.billcode,
  201. U_income_expenses.itemid,
  202. U_income_expenses.Opemp,
  203. U_income_expenses.Opdate,
  204. U_income_expenses.ModDate,
  205. U_income_expenses.ModEmp,
  206. U_income_expenses.itemflag,
  207. U_income_expenses.deptid,
  208. U_income_expenses.amt,
  209. U_income_expenses.flag,
  210. U_income_expenses.auditemp,
  211. U_income_expenses.auditdate,
  212. U_income_expenses.secflag,
  213. U_income_expenses.secauditemp,
  214. U_income_expenses.secauditdate,
  215. U_income_expenses.scid,
  216. u_accounts.accountsname,
  217. u_cust.cuscode,
  218. u_cust.name,
  219. U_income_expenses.finish_amt
  220. Into
  221. :outdate,
  222. :banktypeid,
  223. :credencecode,
  224. :accountsid,
  225. :rep,
  226. :Descrp,
  227. :rapmoneyid,
  228. :billcode,
  229. :itemid,
  230. :Opemp,
  231. :Opdate,
  232. :ModDate,
  233. :ModEmp,
  234. :itemflag,
  235. :deptid,
  236. :amt,
  237. :flag,
  238. :auditemp,
  239. :auditdate,
  240. :secflag,
  241. :secauditemp,
  242. :secauditdate,
  243. :scid,
  244. :ls_accountsname,
  245. :ls_cuscode,
  246. :ls_cusname,
  247. :dec_finish_amt
  248. From U_income_expenses Left Outer join u_accounts On
  249. U_income_expenses.accountsid = u_accounts.accountsid
  250. left join u_cust on u_cust.cusid=U_income_expenses.spt_cus_id
  251. Where ( U_income_expenses.billid = :arg_billid ) ;
  252. IF sqlca.SQLCode <> 0 THEN
  253. MessageBox('系统提示',"查询收支单操作失败"+sqlca.SQLErrText)
  254. RETURN 0
  255. END IF
  256. dw_pageretr.SetRedraw(False)
  257. dw_pageretr.Object.U_income_expenses_billid[uc_row] = arg_billid
  258. dw_pageretr.Object.U_income_expenses_billcode[uc_row] = billcode
  259. dw_pageretr.Object.U_income_expenses_credencecode[uc_row] = credencecode
  260. dw_pageretr.Object.U_income_expenses_banktypeid[uc_row] = banktypeid
  261. dw_pageretr.Object.U_income_expenses_amt[uc_row] = amt
  262. dw_pageretr.Object.U_income_expenses_accountsid[uc_row] = accountsid
  263. dw_pageretr.Object.U_income_expenses_outdate[uc_row] = outdate
  264. dw_pageretr.Object.U_income_expenses_Descrp[uc_row] = Descrp
  265. dw_pageretr.Object.U_income_expenses_rep[uc_row] = rep
  266. dw_pageretr.Object.itemflag[uc_row] = itemflag
  267. dw_pageretr.Object.U_income_expenses_rapmoneyid[uc_row] = rapmoneyid
  268. dw_pageretr.Object.U_income_expenses_itemid[uc_row] = itemid
  269. dw_pageretr.Object.U_income_expenses_Opemp[uc_row] = Opemp
  270. dw_pageretr.Object.U_income_expenses_Opdate[uc_row] = Opdate
  271. dw_pageretr.Object.U_income_expenses_ModDate[uc_row] = ModDate
  272. dw_pageretr.Object.U_income_expenses_ModEmp[uc_row] = ModEmp
  273. dw_pageretr.Object.U_income_expenses_flag[uc_row] = flag
  274. dw_pageretr.Object.U_income_expenses_auditemp[uc_row] = auditemp
  275. dw_pageretr.Object.U_income_expenses_auditdate[uc_row] = auditdate
  276. dw_pageretr.Object.U_income_expenses_secflag[uc_row] = secflag
  277. dw_pageretr.Object.U_income_expenses_secauditemp[uc_row] = secauditemp
  278. dw_pageretr.Object.U_income_expenses_secauditdate[uc_row] = secauditdate
  279. dw_pageretr.Object.U_income_expenses_deptid[uc_row] = deptid
  280. dw_pageretr.Object.scid[uc_row] = scid
  281. dw_pageretr.Object.u_accounts_accountsname[uc_row] = ls_accountsname
  282. dw_pageretr.Object.u_cust_cuscode[uc_row] = ls_cuscode
  283. dw_pageretr.Object.u_cust_cusname[uc_row] = ls_cusname
  284. dw_pageretr.Object.u_income_expenses_finish_amt[uc_row] = dec_finish_amt
  285. dw_pageretr.SetRedraw(True)
  286. dw_uc.Reset()
  287. dw_pageretr.RowsCopy(dw_pageretr.GetRow(), dw_pageretr.GetRow(), Primary!, dw_uc, 1, Primary!)
  288. wf_statusbtn_fc()
  289. RETURN 1
  290. end function
  291. public function integer wf_statusbtn_fc ();//wf_statusbtn_fc
  292. Long pagerert_row
  293. Int li_flag
  294. Int li_secflag
  295. pagerert_row = dw_pageretr.GetRow()
  296. IF pagerert_row <= 0 THEN
  297. cb_auditing.Enabled = False
  298. cb_auditing_cancel.Enabled = False
  299. GOTO ext
  300. END IF
  301. li_flag = dw_pageretr.Object.u_income_expenses_flag[pagerert_row]
  302. li_secflag = dw_pageretr.Object.u_income_expenses_secflag[pagerert_row]
  303. IF dw_edit_mode THEN
  304. cb_auditing.Enabled = False
  305. cb_auditing_cancel.Enabled = False
  306. cb_auditing.Text = '审核&F'
  307. cb_auditing_cancel.Text = '撤审'
  308. ELSE
  309. IF li_flag = 0 THEN
  310. cb_auditing.Enabled = True
  311. cb_auditing_cancel.Enabled = False
  312. cb_auditing.Text = '审核&F'
  313. cb_auditing_cancel.Text = '撤审'
  314. ELSEIF li_flag = 1 And li_secflag = 0 THEN
  315. cb_auditing.Enabled = false
  316. cb_auditing_cancel.Enabled = True
  317. cb_auditing.Text = '审核&F'
  318. cb_auditing_cancel.Text = '撤审'
  319. // ELSEIF li_flag = 1 And li_secflag = 1 THEN
  320. // cb_auditing.Enabled = False
  321. // cb_auditing_cancel.Enabled = True
  322. // cb_auditing.Text = '确认&F'
  323. // cb_auditing_cancel.Text = '反确认'
  324. END IF
  325. END IF
  326. cb_auditing.TriggerEvent('ue_textchange')
  327. cb_auditing_cancel.TriggerEvent('ue_textchange')
  328. ext:
  329. RETURN 0
  330. end function
  331. public subroutine wf_autofrom_oppose_cust (long arg_billid, readonly string arg_billcode, decimal arg_amt);// TODO: 自去边带客户投诉单
  332. IF Not dw_edit_mode THEN
  333. cb_add.TriggerEvent(Clicked!)
  334. END IF
  335. IF Not dw_edit_mode THEN RETURN
  336. Long row
  337. row = dw_child.GetRow()
  338. IF row <= 0 THEN
  339. row = dw_child.InsertRow(0)
  340. ELSE
  341. IF dw_child.Object.u_income_expenses_mx_amt[row] <> 0 Or dw_child.Object.u_income_expenses_mx_relbillid[row] <> 0 THEN
  342. row = dw_child.InsertRow(0)
  343. END IF
  344. END IF
  345. dw_child.Object.u_income_expenses_mx_buildtype[row] = 3
  346. dw_child.Object.u_income_expenses_mx_relscid[row] = 0
  347. dw_child.Object.u_income_expenses_mx_relbillid[row] = arg_billid
  348. dw_child.Object.u_income_expenses_mx_relbillcode[row] = arg_billcode
  349. dw_child.Object.u_income_expenses_mx_amt[row] = arg_amt
  350. end subroutine
  351. on w_msttake_other.create
  352. int iCurrent
  353. call super::create
  354. this.ddlb_status=create ddlb_status
  355. this.st_3=create st_3
  356. this.ddlb_itemflag=create ddlb_itemflag
  357. this.st_2=create st_2
  358. this.ddlb_scid=create ddlb_scid
  359. this.st_4=create st_4
  360. this.cbx_1=create cbx_1
  361. iCurrent=UpperBound(this.Control)
  362. this.Control[iCurrent+1]=this.ddlb_status
  363. this.Control[iCurrent+2]=this.st_3
  364. this.Control[iCurrent+3]=this.ddlb_itemflag
  365. this.Control[iCurrent+4]=this.st_2
  366. this.Control[iCurrent+5]=this.ddlb_scid
  367. this.Control[iCurrent+6]=this.st_4
  368. this.Control[iCurrent+7]=this.cbx_1
  369. end on
  370. on w_msttake_other.destroy
  371. call super::destroy
  372. destroy(this.ddlb_status)
  373. destroy(this.st_3)
  374. destroy(this.ddlb_itemflag)
  375. destroy(this.st_2)
  376. destroy(this.ddlb_scid)
  377. destroy(this.st_4)
  378. destroy(this.cbx_1)
  379. end on
  380. event ue_usual_query_retr;call super::ue_usual_query_retr;String ls_querystrpart = ''
  381. ls_newselect = Lower(ori_oldselect)
  382. IF Trim(sle_usual_query.Text) <> '' THEN
  383. IF Pos(Trim(sle_usual_query.Text),'%') = 0 THEN
  384. ls_querystrpart = "(u_income_expenses.billcode like '%"+Trim(sle_usual_query.Text)+"%')"
  385. ELSE
  386. ls_querystrpart = "(u_income_expenses.billcode like '"+Trim(sle_usual_query.Text)+"')"
  387. END IF
  388. IF Pos(ls_newselect," where ") <> 0 THEN
  389. ls_newselect = ls_newselect+" and ("+ls_querystrpart+')'
  390. ELSE
  391. ls_newselect = ls_newselect+" where ("+ls_querystrpart+')'
  392. END IF
  393. END IF
  394. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  395. THIS.TriggerEvent('retrieve_pageretr')
  396. end event
  397. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  398. if trim(sle_usual_query.text)<>'' then
  399. if pos(trim(sle_usual_query.text),'%')=0 then
  400. obj_expr=obj_expr+'( u_income_expenses_billcode like "%'+trim(sle_usual_query.text)+'%" )'
  401. else
  402. obj_expr=obj_expr+'( u_income_expenses_billcode like "'+trim(sle_usual_query.text)+'" )'
  403. end if
  404. end if
  405. dw_pageretr.setfilter(obj_expr)
  406. dw_pageretr.setredraw(false)
  407. dw_pageretr.filter()
  408. if dw_pageretr.rowcount()>=1 then
  409. dw_pageretr.selectrow(0,false)
  410. dw_pageretr.selectrow(1,true)
  411. end if
  412. dw_pageretr.setredraw(true)
  413. end event
  414. event close;call super::close;destroy uo_ie
  415. end event
  416. event open;call super::open;uc_column_int=8 //uc dw前6列可以编辑
  417. child_column_int = 7
  418. uo_ie =create uo_msttake_other
  419. uo_ie.commit_transaction = sqlca
  420. end event
  421. event refresh_interface;call super::refresh_interface;wf_statusbtn_fc()
  422. ddlb_status.Enabled = Not dw_edit_mode
  423. ddlb_itemflag.Enabled = Not dw_edit_mode
  424. ddlb_scid.Enabled = NOT dw_edit_mode
  425. end event
  426. event retrieve_pageretr;Boolean cb_nextpage_enabled,cb_retrieveall_enabled
  427. Boolean cb_func_enabled,cb_retrieve_enabled
  428. cb_nextpage_enabled = cb_nextpage.Enabled
  429. cb_retrieveall_enabled = cb_retrieveall.Enabled
  430. cb_func_enabled = cb_func.Enabled
  431. cb_nextpage.Enabled = False
  432. cb_retrieveall.Enabled = False
  433. cb_func.Enabled = False
  434. dw_uc.Retrieve()
  435. dw_pageretr.Retrieve(cur_scid,cur_flag,cur_secflag)
  436. IF dw_pageretr.RowCount() > 0 THEN
  437. dw_pageretr.SetRow(1)
  438. dw_pageretr.TriggerEvent(RowFocusChanged!)
  439. END IF
  440. This.TriggerEvent('retrieve_childdw')
  441. cb_nextpage.Enabled = cb_nextpage_enabled
  442. cb_retrieveall.Enabled = cb_retrieveall_enabled
  443. cb_func.Enabled = cb_func_enabled
  444. wf_statusbtn_fc()
  445. end event
  446. event ue_f9;call super::ue_f9;IF Not dw_edit_mode THEN RETURN
  447. IF dw_child.GetRow() <= 0 THEN
  448. MessageBox(publ_operator,'请先选择明细')
  449. RETURN
  450. END IF
  451. IF Not IsValid(w_oppose_cust_ch) THEN
  452. This.Enabled = False
  453. Open(w_oppose_cust_ch)
  454. This.Enabled = True
  455. s_oppose_cust_ch s_ch
  456. s_ch = Message.PowerObjectParm
  457. dw_child.SetRedraw(False)
  458. IF s_ch.billid > 0 THEN
  459. dw_child.Object.u_income_expenses_mx_relscid[dw_child.GetRow()] = 0
  460. dw_child.Object.u_income_expenses_mx_relbillid[dw_child.GetRow()] = s_ch.billid
  461. dw_child.Object.u_income_expenses_mx_relbillcode[dw_child.GetRow()] = s_ch.billcode
  462. END IF
  463. dw_child.AcceptText()
  464. dw_child.SetRedraw(True)
  465. END IF
  466. end event
  467. event ue_viewprint;call super::ue_viewprint;Long LS_ROW
  468. LS_ROW = dw_pageretr.GetRow()
  469. IF LS_ROW <= 0 THEN
  470. MessageBox('NO','没有打印目标单据!')
  471. RETURN
  472. END IF
  473. S_print_MSG LS_PRMSG
  474. if ls_powerid = 0 then ls_powerid = 1859
  475. IF ls_newname <> '' THEN
  476. IF Not f_power_ind(ls_powerid,sys_msg_pow) THEN
  477. MessageBox(publ_operator,sys_msg_pow)
  478. RETURN
  479. END IF
  480. IF li_auditprint = 1 THEN
  481. IF dw_pageretr.Object.u_income_expenses_flag[dw_pageretr.GetRow()] = 0 THEN
  482. MessageBox('NO','目标单据还未审核,不能打印!')
  483. RETURN
  484. END IF
  485. END IF
  486. LS_PRMSG.obj_dwNAME = ls_newname
  487. ELSE
  488. IF Not f_power_ind(1859,sys_msg_pow) THEN
  489. MessageBox(publ_operator,sys_msg_pow)
  490. RETURN
  491. END IF
  492. LS_PRMSG.obj_dwNAME = 'dw_rp_msttake_other'
  493. END IF
  494. if LS_PRMSG.obj_dwNAME = '' then return
  495. LS_PRMSG.TAG_TEXT = this.title
  496. LS_PRMSG.FILTER_STRING = ''
  497. LS_PRMSG.retr_pram_falg = 2
  498. LS_PRMSG.PAGECH_FLAG = 0
  499. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_income_expenses_billid[LS_ROW]
  500. OpenWithParm(w_publ_preview,LS_PRMSG)
  501. //**更新打印次料
  502. String arg_msg
  503. printnum = Message.DoubleParm
  504. Long ll_scid
  505. String ls_code
  506. ll_scid = 0
  507. ls_code = dw_pageretr.Object.u_income_expenses_billcode[dw_pageretr.GetRow()]
  508. f_update_printnum2(ll_scid,ls_code,FALSE,printnum,arg_msg,TRUE)
  509. end event
  510. event ue_print;call super::ue_print;//--直接打印
  511. uo_print_preview uo_print
  512. IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  513. S_print_MSG LS_PRMSG
  514. Long LS_ROW
  515. LS_ROW = dw_pageretr.GetRow()
  516. IF LS_ROW <= 0 THEN
  517. MessageBox('NO','没有打印目标单据!')
  518. RETURN
  519. END IF
  520. if ls_powerid = 0 then ls_powerid = 1859
  521. IF ls_newname <> '' THEN
  522. IF NOT f_power_ind(ls_powerid,sys_msg_pow) THEN
  523. MessageBox(publ_operator,sys_msg_pow)
  524. RETURN
  525. END IF
  526. IF li_auditprint = 1 THEN
  527. IF dw_pageretr.Object.u_income_expenses_flag[dw_pageretr.GetRow()] = 0 THEN
  528. MessageBox('NO','目标单据还未审核,不能打印!')
  529. RETURN
  530. END IF
  531. END IF
  532. LS_PRMSG.obj_dwNAME = ls_newname
  533. ELSE
  534. IF NOT f_power_ind(1859,sys_msg_pow) THEN
  535. MessageBox(publ_operator,sys_msg_pow)
  536. RETURN
  537. END IF
  538. LS_PRMSG.obj_dwNAME = 'dw_rp_msttake_other'
  539. END IF
  540. IF LS_PRMSG.obj_dwNAME = '' THEN RETURN
  541. LS_PRMSG.retr_pram_falg = 2
  542. LS_PRMSG.TAG_TEXT = '费用支出单'
  543. LS_PRMSG.FILTER_STRING = ''
  544. LS_PRMSG.PAGECH_FLAG = 0
  545. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_income_expenses_billid[LS_ROW]
  546. uo_print.FACT_PRINT_MSG = LS_PRMSG
  547. String arg_msg
  548. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  549. MessageBox("系统提示",arg_msg)
  550. RETURN
  551. END IF
  552. uo_print.ds_print()
  553. //**更新打印次料
  554. printnum = 1
  555. Long ll_scid
  556. String ls_code
  557. ll_scid = 0
  558. ls_code = dw_pageretr.Object.u_income_expenses_billcode[dw_pageretr.GetRow()]
  559. f_update_printnum2(ll_scid,ls_code,FALSE,printnum,arg_msg,TRUE)
  560. end event
  561. event ue_addzy;call super::ue_addzy;IF Not f_power_ind(994,sys_msg_pow) THEN
  562. MessageBox(publ_operator,sys_msg_pow)
  563. RETURN
  564. END IF
  565. IF dw_edit_mode THEN RETURN
  566. String arg_msg = ''
  567. String ls_str
  568. Long uc_row
  569. s_inputbox s_sreu
  570. uc_row = dw_pageretr.GetRow()
  571. IF uc_row <= 0 THEN
  572. MessageBox('系统提示','请选定当前目标单据!')
  573. RETURN
  574. END IF
  575. s_sreu.Title = '请输入要补充到备注的内容'
  576. s_sreu.old_text = ''
  577. OpenWithParm(w_inputbox,s_sreu)
  578. ls_str = Message.StringParm
  579. IF Trim(ls_str) = '' Or IsNull(ls_str) THEN RETURN
  580. IF uo_ie.add_dscrp(dw_pageretr.Object.U_income_expenses_billid[uc_row],ls_str,arg_msg,True) = 0 THEN
  581. MessageBox('error!',arg_msg)
  582. RETURN
  583. ELSE
  584. MessageBox(publ_operator,'添加备注操作成功!')
  585. wf_refresh_curuc(dw_pageretr.Object.U_income_expenses_billid[uc_row])
  586. END IF
  587. end event
  588. event ue_rpt_viewprint;call super::ue_rpt_viewprint;
  589. Long row,uc_relid,ll_scid
  590. row = dw_pageretr.GetRow()
  591. IF row = 0 THEN RETURN
  592. IF ls_rpname = '' THEN RETURN
  593. IF li_auditprint = 1 THEN
  594. IF dw_pageretr.Object.u_income_expenses_flag[row] = 0 THEN
  595. MessageBox('NO','目标单据还未审核,不能打印!')
  596. RETURN
  597. END IF
  598. END IF
  599. s_rpt_print_msg s_print
  600. s_print.retr_pram_falg = 2
  601. s_print.rpid = ls_msgprintid_rpt
  602. s_print.retr_flag = TRUE
  603. s_print.tag_text = THIS.Title
  604. s_print.rpname = ls_rpname
  605. s_print.retr_pramnmb = dw_pageretr.Object.u_income_expenses_billid[row]
  606. s_print.rowcnt = dw_child.RowCount()
  607. OpenWithParm(w_rpt_preview,s_print)
  608. //**更新打印次料
  609. String arg_msg
  610. printnum = Message.DoubleParm
  611. String ls_code
  612. ll_scid = 0
  613. ls_code = dw_pageretr.Object.u_income_expenses_billcode[row]
  614. f_update_printnum2(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE)
  615. end event
  616. event ue_rpt_print;call super::ue_rpt_print;Long row,uc_relid,ll_scid
  617. row = dw_pageretr.GetRow()
  618. IF row = 0 THEN RETURN
  619. uo_rpt_print_preview uo_print
  620. S_rpt_print_MSG LS_PRMSG
  621. IF dw_pageretr.RowCount() = 0 THEN
  622. MessageBox('系统信息','没有可打印的单据!')
  623. RETURN
  624. END IF
  625. IF ls_rpname = '' THEN RETURN
  626. IF li_auditprint = 1 THEN
  627. IF dw_pageretr.Object.u_income_expenses_flag[row] = 0 THEN
  628. MessageBox('NO','目标单据还未审核,不能打印!')
  629. RETURN
  630. END IF
  631. END IF
  632. IF MessageBox ("IF","是否确定要打印当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  633. LS_PRMSG.retr_pram_falg = 2
  634. LS_PRMSG.TAG_TEXT = THIS.Title
  635. LS_PRMSG.rpname = ls_rpname
  636. LS_PRMSG.FILTER_STRING = ''
  637. LS_PRMSG.PAGECH_FLAG = 0
  638. LS_PRMSG.rpid = ls_msgprintid_rpt
  639. LS_PRMSG.retr_pramnmb = dw_pageretr.Object.u_income_expenses_billid[row]
  640. LS_PRMSG.rowcnt = dw_child.RowCount()
  641. uo_print.FACT_PRINT_MSG = LS_PRMSG
  642. String arg_msg
  643. IF uo_print.uof_print_begin(arg_msg) = 0 THEN
  644. MessageBox("系统提示",arg_msg)
  645. RETURN
  646. END IF
  647. uo_print.ds_print()
  648. //**更新打印次料
  649. printnum = Message.DoubleParm
  650. String ls_code
  651. ll_scid = 0
  652. ls_code = dw_pageretr.Object.u_income_expenses_billcode[row]
  653. f_update_printnum2(ll_scid,ls_code,TRUE,printnum,arg_msg,TRUE)
  654. end event
  655. event retrieve_childdw;call super::retrieve_childdw;Long row,uc_relid
  656. row = dw_pageretr.GetRow()
  657. IF row > 0 THEN
  658. uc_relid = dw_pageretr.Object.u_income_expenses_billid[row]
  659. dw_child.SetRedraw (False)
  660. dw_child.Retrieve(uc_relid)
  661. dw_child.SetRedraw (True)
  662. IF dw_child.RowCount() > 0 THEN
  663. dw_child.SelectRow(0,False)
  664. dw_child.SelectRow(1,True)
  665. dw_child.SetRow(1)
  666. END IF
  667. ELSE
  668. dw_child.Reset()
  669. END IF
  670. end event
  671. event ue_f8;call super::ue_f8;//用于选择明细内容,被f8[默认]\dw_child.doubleclicked调用
  672. IF Not dw_edit_mode THEN RETURN
  673. IF dw_uc.GetRow() <= 0 THEN
  674. MessageBox('系统提示','请先选择单据')
  675. RETURN
  676. END IF
  677. Long child_row
  678. Long ls_cusid,ll_moneyid
  679. Decimal ld_mrate
  680. Long ls_j
  681. child_row = dw_child.GetRow()
  682. IF Not IsValid(w_itemdef_ch_with_itemflag) THEN
  683. This.Enabled = False
  684. Openwithparm(w_itemdef_ch_with_itemflag,cur_itemflag) //调用
  685. This.Enabled = True
  686. s_itemdef_arr s_inscust
  687. s_inscust = Message.PowerObjectParm //接受返回结构
  688. dw_child.setredraw(false)
  689. FOR ls_j = 1 To UpperBound(s_inscust.itemid)
  690. IF s_inscust.itemid[ls_j] > 0 THEN //正常返回值则可以取以下值
  691. IF dw_child.Find('u_income_expenses_mx_itemid = '+String(s_inscust.itemid[ls_j]),1,dw_child.RowCount()) > 0 THEN CONTINUE
  692. IF dw_child.GetRow() > 0 THEN
  693. IF dw_child.Object.u_income_expenses_mx_itemid[child_row] <> 0 THEN
  694. child_row = dw_child.InsertRow (0)
  695. ELSE
  696. child_row = dw_child.GetRow()
  697. END IF
  698. ELSE
  699. child_row = dw_child.InsertRow (0)
  700. END IF
  701. dw_child.Object.u_income_expenses_mx_itemid[child_row] = s_inscust.itemid[ls_j]
  702. dw_child.Object.u_itemdef_itemcode[child_row] = s_inscust.itemcode[ls_j]
  703. dw_child.Object.u_itemdef_itemname[child_row] = s_inscust.itemname[ls_j]
  704. dw_child.Object.u_itemdef_itemtype[child_row] = s_inscust.itemtype[ls_j]
  705. dw_child.Object.u_itemdef_itemsectype[child_row] = s_inscust.itemsectype[ls_j]
  706. dw_child.SetColumn('u_income_expenses_mx_amt')
  707. END IF
  708. NEXT
  709. dw_child.setredraw(true)
  710. dw_child.SetFocus()
  711. END IF
  712. end event
  713. event ue_f7;call super::ue_f7;IF Not dw_edit_mode THEN RETURN
  714. Long ls_storageid,ll_cusid
  715. Long ls_taskid,ls_j,ll_i
  716. String ls_taskcode
  717. Long ll_scid,ll_moneyid
  718. Long ll_mtrlid
  719. String ls_status,ls_woodcode,ls_pcode
  720. DateTime ld_outdate
  721. IF dw_child.GetRow() <= 0 THEN
  722. MessageBox(publ_operator,'请先选择明细')
  723. RETURN
  724. END IF
  725. IF Not IsValid(w_saletask_ch) THEN
  726. // s_edit_index_tran s_tranf //传递参数使用
  727. //
  728. //
  729. // s_tranf.b_long = -1
  730. // s_tranf.c_long = -1
  731. // s_tranf.d_long = 1 //选销售订单
  732. // s_tranf.e_long = 1
  733. // s_tranf.h_long = 1
  734. s_saletask_find s_find
  735. s_find.scid = -1
  736. s_find.areaid = sys_areaid
  737. This.Enabled = False
  738. OpenWithParm(w_saletask_ch,s_find)
  739. This.Enabled = True
  740. s_saletask_ch s_saletask
  741. s_saletask = Message.PowerObjectParm
  742. dw_child.SetRedraw(False)
  743. IF s_saletask.taskid > 0 THEN
  744. dw_child.Object.u_income_expenses_mx_relscid[dw_child.GetRow()] = s_saletask.scid
  745. dw_child.Object.u_income_expenses_mx_relbillid[dw_child.GetRow()] = s_saletask.taskid
  746. dw_child.Object.u_income_expenses_mx_relbillcode[dw_child.GetRow()] = s_saletask.taskcode
  747. END IF
  748. dw_child.AcceptText()
  749. dw_child.SetRedraw(True)
  750. END IF
  751. end event
  752. event ue_f10;call super::ue_f10;IF Not dw_edit_mode THEN RETURN
  753. Long uc_row,ls_j
  754. uc_row = dw_child.GetRow()
  755. IF uc_row = 0 THEN
  756. MessageBox('系统提示','请选定明细!')
  757. RETURN
  758. END IF
  759. dw_child.AcceptText()
  760. IF Not IsValid(w_order_ml_mx_mtrl_ch) THEN
  761. s_edit_index_tran s_open //传递参数使用
  762. s_open.if_select_any = False
  763. s_open.d_long = -1
  764. s_open.f_long = 0
  765. s_open.g_long = 1 //使用终止计件条件
  766. s_open.h_long = 0 //进仓
  767. s_open.c_long = 1 //领料
  768. OpenWithParm(w_order_ml_mx_mtrl_ch,s_open)
  769. s_saletask_mtrl s_inscust
  770. s_inscust = Message.PowerObjectParm //接受返回结构
  771. dw_child.SetRedraw(False)
  772. IF UpperBound(s_inscust.taskid) > 0 THEN
  773. IF s_inscust.taskid[1] > 0 THEN //正常返回值则可以取以下值
  774. dw_child.Object.u_income_expenses_mx_relscid[uc_row] = s_inscust.scid[1]
  775. dw_child.Object.u_income_expenses_mx_relbillid[uc_row] = s_inscust.taskid[1]
  776. dw_child.Object.u_income_expenses_mx_relbillcode[uc_row] = s_inscust.taskcode[1]
  777. END IF
  778. END IF
  779. dw_child.SetRedraw(True)
  780. END IF
  781. end event
  782. event resize;
  783. ln_bar.EndX = This.Width
  784. ln_bar2.EndX = This.Width
  785. ln_1.EndX = This.Width
  786. ln_2.EndX = This.Width
  787. r_bar.Width = This.Width
  788. Long w_width,w_height
  789. w_width = 3602
  790. w_height = 2300
  791. IF newwidth < w_width THEN This.Width = w_width
  792. IF newheight < w_height THEN This.Height = w_height
  793. //dw_child.Width = THIS.Width - (w_width - dw_child_w)
  794. //dw_child.Height = THIS.Height - (w_height - dw_child_h)
  795. //dw_pageretr.Width = THIS.Width - (w_width - dw_pageretr_w)
  796. IF uc_width > 0 THEN
  797. dw_uc.Width = uc_width
  798. END IF
  799. IF uc_height > 0 THEN
  800. dw_uc.Height = uc_height
  801. END IF
  802. //IF ins_p_y < ins_c_y THEN
  803. // IF ins_p_y + ins_p_h > ins_c_y THEN
  804. // dw_child.x = dw_uc.x
  805. // dw_child.Y = dw_uc.Y + dw_uc.Height + 4
  806. // dw_child.Width = dw_uc.Width
  807. // dw_child.Height = This.Height - dw_child.Y - 150
  808. //
  809. // dw_pageretr.y = dw_uc.y
  810. // dw_pageretr.X = dw_uc.X + dw_uc.Width
  811. // dw_pageretr.Width = This.Width - dw_pageretr.X - 40
  812. // dw_pageretr.Height = dw_uc.Height + dw_child.Height + (dw_child.Y - dw_uc.Y - dw_uc.Height)
  813. // ELSE
  814. // dw_pageretr.y = dw_uc.y
  815. // dw_pageretr.X = dw_uc.X + dw_uc.Width
  816. // dw_pageretr.Width = This.Width - dw_pageretr.X - 40
  817. // dw_pageretr.Height = dw_uc.Height
  818. //
  819. // dw_child.x = dw_uc.x
  820. // dw_child.Y = dw_uc.Y + dw_uc.Height + 4
  821. // dw_child.Width = This.Width - dw_child.X - 40
  822. // dw_child.Height = This.Height - dw_child.Y - 150
  823. // END IF
  824. //ELSE
  825. // IF ins_c_y + ins_c_h > ins_p_y THEN
  826. // dw_pageretr.x = dw_uc.x
  827. // dw_pageretr.Y = dw_uc.Y + dw_uc.Height + 4
  828. // dw_pageretr.Width = dw_uc.Width
  829. // dw_pageretr.Height = This.Height - dw_pageretr.Y - 150
  830. //
  831. //
  832. // dw_child.y = dw_uc.y
  833. // dw_child.X = dw_uc.X + dw_uc.Width
  834. // dw_child.Width = This.Width - dw_child.X - 40
  835. // dw_child.Height = dw_uc.Height + dw_pageretr.Height + (dw_pageretr.Y - dw_uc.Y - dw_uc.Height)
  836. // ELSE
  837. // dw_child.y = dw_uc.y
  838. // dw_child.X = dw_uc.X + dw_uc.Width
  839. // dw_child.Width = This.Width - dw_child.X - 40
  840. // dw_child.Height = dw_uc.Height
  841. //
  842. //
  843. // dw_pageretr.x = dw_uc.x
  844. // dw_pageretr.Y = dw_uc.Y + dw_uc.height + 4
  845. // dw_pageretr.Width = This.Width - dw_pageretr.X - 40
  846. // dw_pageretr.Height = This.Height - dw_pageretr.Y - 150
  847. //
  848. // END IF
  849. //
  850. //END IF
  851. dw_pageretr.X = dw_uc.X + dw_uc.Width
  852. dw_pageretr.Width = This.Width - dw_pageretr.X - 40
  853. dw_pageretr.Height = dw_uc.Height
  854. dw_child.Y = dw_uc.Y + dw_uc.Height + 4
  855. dw_child.Width = This.Width - dw_child.X - 40
  856. dw_child.Height = This.Height - dw_child.Y - 150
  857. This.TriggerEvent('resize_p')
  858. end event
  859. event ue_f11;call super::ue_f11;//用于选择明细内容,被F9[默认]
  860. IF Not dw_edit_mode THEN RETURN
  861. Long uc_row
  862. Long ll_rst_accountsid
  863. uc_row = dw_uc.GetRow()
  864. IF uc_row = 0 THEN
  865. MessageBox('系统提示','请选定单据!')
  866. RETURN
  867. END IF
  868. dw_uc.AcceptText()
  869. IF Not IsValid(w_accounts_ch) THEN
  870. s_edit_index_tran s_ch_tran //传递参数使用
  871. s_ch_tran.if_retrieve_all = True //是否一次retrieve所有行
  872. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  873. s_ch_tran.arg_pkid = 0 //目标定位pkid (备用)
  874. s_ch_tran.arg_string_code = '' //查询列(物料编码)部分内容,用于初步筛选
  875. OpenWithParm(w_accounts_ch,s_ch_tran) //调用
  876. ll_rst_accountsid = Message.DoubleParm //接受返回结构
  877. IF ll_rst_accountsid > 0 THEN //正常返回值则可以取以下值
  878. dw_uc.SetRedraw(False)
  879. dw_uc.Object.u_income_expenses_accountsid[uc_row] = ll_rst_accountsid
  880. dw_uc.SetColumn("u_income_expenses_rep")
  881. dw_uc.SetRedraw(True)
  882. END IF
  883. END IF
  884. end event
  885. type cb_func from w_publ_1ton_share_detail`cb_func within w_msttake_other
  886. integer x = 142
  887. end type
  888. type cb_exit from w_publ_1ton_share_detail`cb_exit within w_msttake_other
  889. integer x = 2318
  890. integer width = 142
  891. end type
  892. type sle_usual_query from w_publ_1ton_share_detail`sle_usual_query within w_msttake_other
  893. integer x = 197
  894. integer width = 549
  895. end type
  896. type cb_retrieveall from w_publ_1ton_share_detail`cb_retrieveall within w_msttake_other
  897. integer x = 2761
  898. integer width = 142
  899. end type
  900. type em_pagerowno from w_publ_1ton_share_detail`em_pagerowno within w_msttake_other
  901. integer x = 2459
  902. end type
  903. type dw_pageretr from w_publ_1ton_share_detail`dw_pageretr within w_msttake_other
  904. event dwnkey pbm_dwnkey
  905. integer x = 1934
  906. integer width = 1614
  907. integer height = 1052
  908. string dataobject = "dw_msttake_other_index"
  909. end type
  910. event dw_pageretr::dwnkey;call super::dwnkey;//int h = 0
  911. end event
  912. event dw_pageretr::constructor;call super::constructor; titleclick_sort_use=true //单击标题排序功能开关
  913. RBUTTON_FILTER_USE=true //右键查询功能开关
  914. end event
  915. event dw_pageretr::rowfocuschanged;call super::rowfocuschanged;wf_statusbtn_fc()
  916. end event
  917. type st_1 from w_publ_1ton_share_detail`st_1 within w_msttake_other
  918. integer x = 14
  919. end type
  920. type cb_nextpage from w_publ_1ton_share_detail`cb_nextpage within w_msttake_other
  921. integer x = 2903
  922. end type
  923. type dw_uc from w_publ_1ton_share_detail`dw_uc within w_msttake_other
  924. integer width = 1929
  925. integer height = 1052
  926. string dataobject = "dw_msttake_other_edit"
  927. end type
  928. event dw_uc::dwnkey;PARENT.TriggerEvent('user_key')
  929. IF Key = KeyDownArrow! THEN RETURN 1
  930. String ls_itemcode,ls_itemname,ls_itemtype,ls_itemsectype,ls_find_code
  931. Int ls_itemflag
  932. Long ls_itemid
  933. Long cnt = 0
  934. Boolean if_find = FALSE
  935. IF dw_edit_mode THEN
  936. IF dw_uc.GetColumnName ( ) = 'u_income_expenses_descrp' And Key = KeyEnter! THEN
  937. dw_child.ScrollToRow(1)
  938. dw_child.SetFocus()
  939. dw_child.SetColumn ('u_itemdef_itemcode')
  940. RETURN 1
  941. ELSEIF dw_uc.GetColumnName ( ) = 'u_cust_cuscode' And Key = KeyEnter! THEN
  942. String ls_code,ls_name,ls_custype
  943. String ls_freight,ls_freight_tele
  944. String ls_cus_address,ls_cus_tele,ls_cus_tele1,ls_cus_fax
  945. Long ls_cusid
  946. Long ll_scid, ll_moneyid
  947. Int li_banktypeid
  948. String ls_rel_rep
  949. dw_uc.AcceptText()
  950. ls_code = Trim(dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()])
  951. //
  952. long li_option_outrep
  953. IF sys_power_issuper THEN
  954. li_option_outrep = 0
  955. ELSE
  956. li_option_outrep = sys_option_outrep
  957. END IF
  958. SELECT u_cust.cusid,
  959. u_cust.name,
  960. u_cust.custype,
  961. u_cust.cuscode,
  962. u_cust.freight,
  963. u_cust.freight_tele,
  964. u_cust.address,
  965. u_cust.tele,
  966. u_cust.tele1,
  967. u_cust.faxno,
  968. u_cust.banktypeid,
  969. u_cust.rep
  970. INTO :ls_cusid,:ls_name,:ls_custype,:ls_code,
  971. :ls_freight,:ls_freight_tele,
  972. :ls_cus_address,:ls_cus_tele,:ls_cus_tele1,:ls_cus_fax,:li_banktypeid,:ls_rel_rep
  973. FROM u_cust
  974. Where (cuscode = :ls_code Or Name = :ls_code) and
  975. ( :li_option_outrep = 0 OR (u_cust.custype IN (:sys_user_outrepstr) or :sys_user_outrepstr='0')) and
  976. ( :sys_option_cusarea = 0 or ( :sys_areastr like '%,' + rtrim(cast(u_cust.cusareaid as varchar(10))) + ',%' OR u_cust.cusareaid = 0 OR :sys_areastr='0' )) ;
  977. //
  978. IF sqlca.SQLCode <> 0 THEN
  979. IF Pos(Trim(ls_code),'%') = 0 THEN
  980. ls_find_code = '%'+ Trim(ls_code) + '%'
  981. ELSE
  982. ls_find_code = Trim(ls_code)
  983. END IF
  984. SELECT count(*) INTO :cnt
  985. FROM u_cust
  986. Where ( cuscode Like :ls_find_code Or Name Like :ls_find_code ) and
  987. ( :li_option_outrep = 0 OR (u_cust.custype IN (:sys_user_outrepstr) or :sys_user_outrepstr='0')) and
  988. ( :sys_option_cusarea = 0 or (:sys_areastr like '%,' + rtrim(cast(u_cust.cusareaid as varchar(10))) + ',%' OR u_cust.cusareaid = 0 OR :sys_areastr='0' )) ;
  989. IF sqlca.SQLCode <> 0 THEN
  990. Parent.TriggerEvent('ue_f19')
  991. RETURN 1
  992. END IF
  993. IF cnt <> 1 THEN
  994. Parent.TriggerEvent('ue_f19')
  995. RETURN 1
  996. ELSE
  997. SELECT u_cust.cusid,
  998. u_cust.cuscode,
  999. u_cust.name,
  1000. u_cust.custype,
  1001. u_cust.freight,
  1002. u_cust.freight_tele,
  1003. u_cust.address,
  1004. u_cust.tele,
  1005. u_cust.tele1,
  1006. u_cust.faxno,
  1007. u_cust.rep
  1008. INTO :ls_cusid,:ls_code,:ls_name,:ls_custype,
  1009. :ls_freight,:ls_freight_tele,
  1010. :ls_cus_address,:ls_cus_tele,:ls_cus_tele1,:ls_cus_fax,:ls_rel_rep
  1011. FROM u_cust
  1012. Where ( cuscode Like :ls_find_code Or Name Like :ls_find_code );
  1013. IF sqlca.SQLCode <> 0 THEN
  1014. Parent.TriggerEvent('ue_f19')
  1015. RETURN 1
  1016. ELSE
  1017. if_find = True
  1018. END IF
  1019. END IF
  1020. ELSE
  1021. if_find = True
  1022. END IF
  1023. IF if_find THEN
  1024. dw_uc.SetRedraw(False)
  1025. dw_uc.Object.spt_cus_id[dw_uc.GetRow()] = ls_cusid
  1026. dw_uc.Object.u_cust_cuscode[dw_uc.GetRow()] = ls_code
  1027. dw_uc.Object.u_cust_cusname[dw_uc.GetRow()] = ls_name
  1028. IF li_banktypeid > 0 THEN
  1029. dw_uc.Object.u_income_expenses_banktypeid[dw_uc.GetRow()] = li_banktypeid
  1030. END IF
  1031. dw_uc.SetRedraw(True)
  1032. dw_uc.SetColumn("u_income_expenses_credencecode")
  1033. RETURN 1
  1034. END IF
  1035. ELSE
  1036. IF Key = KeyEnter! THEN //
  1037. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1038. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1039. RETURN 1
  1040. END IF
  1041. END IF
  1042. END IF
  1043. end event
  1044. event dw_uc::clicked;call super::clicked;IF row > 0 THEN
  1045. IF dwo.Name = 'b_dept' THEN
  1046. Parent.TriggerEvent('ue_dept_ch')
  1047. ELSEIF dwo.Name = 'p_p' THEN
  1048. Parent.TriggerEvent('ue_f19')
  1049. END IF
  1050. END IF
  1051. end event
  1052. event dw_uc::buttonclicked;call super::buttonclicked;IF dw_edit_mode And row > 0 THEN
  1053. IF dwo.Name = 'b_f11' THEN
  1054. Parent.TriggerEvent('ue_f11')
  1055. END IF
  1056. END IF
  1057. end event
  1058. event dw_uc::doubleclicked;IF dw_edit_mode And row > 0 THEN
  1059. IF dwo.Name = 'u_income_expenses_accountsid' THEN
  1060. Parent.TriggerEvent('ue_f11')
  1061. ELSEIF dwo.Name = 'u_cust_cuscode' Or dwo.Name = 'u_cust_cusname' THEN
  1062. Parent.TriggerEvent('ue_f19')
  1063. END IF
  1064. END IF
  1065. end event
  1066. event dw_uc::itemchanged;call super::itemchanged;IF NOT dw_edit_mode THEN RETURN
  1067. THIS.AcceptText()
  1068. Long ll_moneyid_account,ll_moneyid
  1069. Long ll_accountid
  1070. If (dwo.Name = 'u_income_expenses_rapmoneyid' OR dwo.Name = 'u_income_expenses_accountsid') AND THIS.Object.u_income_expenses_accountsid[row] > 0 THEN
  1071. THIS.SetRedraw(FALSE)
  1072. ll_accountid = THIS.Object.u_income_expenses_accountsid[row]
  1073. ll_moneyid = THIS.Object.u_income_expenses_rapmoneyid[row]
  1074. SELECT moneyid INTO :ll_moneyid_account
  1075. FROM u_accounts
  1076. Where accountsid = :ll_accountid;
  1077. IF sqlca.SQLCode <> 0 THEN
  1078. ll_moneyid_account = 0
  1079. RETURN
  1080. END IF
  1081. THIS.Object.u_income_expenses_rapmoneyid[row] = ll_moneyid_account
  1082. // IF ll_moneyid = ll_moneyid_account THEN
  1083. // THIS.Object.u_cusamt_mrate[row] = 1
  1084. // ELSE
  1085. // THIS.Object.u_cusamt_mrate[dw_uc.GetRow()] = f_get_mrate(ll_moneyid)
  1086. // END IF
  1087. THIS.SetRedraw(TRUE)
  1088. END IF
  1089. end event
  1090. type gb_2 from w_publ_1ton_share_detail`gb_2 within w_msttake_other
  1091. integer x = 338
  1092. integer y = 864
  1093. integer width = 215
  1094. integer height = 348
  1095. end type
  1096. type dw_child from w_publ_1ton_share_detail`dw_child within w_msttake_other
  1097. integer y = 1344
  1098. integer height = 924
  1099. string dataobject = "dw_msttake_other_mx_edit"
  1100. end type
  1101. event dw_child::dwnkey;call super::dwnkey;Parent.TriggerEvent('user_key')
  1102. String ls_itemcode
  1103. Long ls_itemid
  1104. String ls_itemname,ls_itemtype,ls_itemsectype,ls_find_code
  1105. Long cnt
  1106. Boolean if_find
  1107. Long ll_row
  1108. IF dw_edit_mode THEN
  1109. IF KeyDown(keydownarrow!) THEN
  1110. Long li_row
  1111. IF dw_child.GetRow() = dw_child.RowCount() THEN
  1112. Parent.TriggerEvent("insert_childrow")
  1113. END IF
  1114. ELSE
  1115. IF KeyDown(keyenter!) And Not KeyDown(keycontrol!) And Not KeyDown(keyshift!) THEN
  1116. IF dw_child.GetColumnName() = 'u_itemdef_itemcode' THEN
  1117. dw_child.AcceptText()
  1118. ls_itemcode = Trim(dw_child.Object.u_itemdef_itemcode[dw_child.GetRow()])
  1119. SELECT
  1120. u_itemdef.itemid,
  1121. u_itemdef.itemcode,
  1122. u_itemdef.itemname,
  1123. u_itemdef.itemtype,
  1124. u_itemdef.itemsectype
  1125. Into
  1126. :ls_itemid,
  1127. :ls_itemcode,
  1128. :ls_itemname,
  1129. :ls_itemtype,
  1130. :ls_itemsectype
  1131. From u_itemdef
  1132. Where ( u_itemdef.itemcode = :ls_itemcode )
  1133. And (u_itemdef.itemflag = :cur_itemflag);
  1134. IF sqlca.SQLCode <> 0 THEN
  1135. IF Pos(Trim(ls_itemcode),'%') = 0 THEN
  1136. ls_find_code = '%'+ Trim(ls_itemcode) + '%'
  1137. ELSE
  1138. ls_find_code = Trim(ls_itemcode)
  1139. END IF
  1140. SELECT count(*) INTO :cnt
  1141. FROM u_itemdef
  1142. WHERE ( u_itemdef.itemcode LIKE :ls_find_code)
  1143. And (u_itemdef.itemflag = :cur_itemflag);
  1144. IF sqlca.SQLCode <> 0 THEN
  1145. Parent.TriggerEvent('ue_f8')
  1146. RETURN 1
  1147. END IF
  1148. IF cnt <> 1 THEN
  1149. Parent.TriggerEvent('ue_f8')
  1150. RETURN 1
  1151. ELSE
  1152. SELECT
  1153. u_itemdef.itemid,
  1154. u_itemdef.itemcode,
  1155. u_itemdef.itemname,
  1156. u_itemdef.itemtype,
  1157. u_itemdef.itemsectype
  1158. Into :ls_itemid,:ls_itemcode,:ls_itemname,:ls_itemtype,:ls_itemsectype
  1159. From u_itemdef
  1160. Where (u_itemdef.itemcode Like :ls_find_code)
  1161. And (u_itemdef.itemflag = :cur_itemflag);
  1162. IF sqlca.SQLCode <> 0 THEN
  1163. Parent.TriggerEvent('ue_f9')
  1164. RETURN 1
  1165. ELSE
  1166. if_find = True
  1167. END IF
  1168. END IF
  1169. ELSE
  1170. if_find = True
  1171. END IF
  1172. IF if_find THEN
  1173. ll_row = dw_child.Find('u_income_expenses_mx_itemid = '+String(ls_itemid),1,dw_child.RowCount())
  1174. IF ll_row > 0 THEN
  1175. If dw_child.GetRow() <> ll_row Then
  1176. dw_child.Object.u_itemdef_itemcode[dw_child.GetRow()] = ''
  1177. dw_child.SetRow(ll_row)
  1178. dw_child.ScrollToRow(ll_row)
  1179. dw_child.SelectRow(0,False)
  1180. dw_child.SelectRow(ll_row,True)
  1181. Else
  1182. dw_child.SetColumn("u_income_expenses_mx_amt")
  1183. End If
  1184. RETURN 1
  1185. END IF
  1186. dw_child.SetRedraw(False)
  1187. dw_child.Object.u_income_expenses_mx_itemid[dw_child.GetRow()] = ls_itemid
  1188. dw_child.Object.u_itemdef_itemcode[dw_child.GetRow()] = ls_itemcode
  1189. dw_child.Object.u_itemdef_itemname[dw_child.GetRow()] = ls_itemname
  1190. dw_child.Object.u_itemdef_itemtype[dw_child.GetRow()] = ls_itemtype
  1191. dw_child.Object.u_itemdef_itemsectype[dw_child.GetRow()] = ls_itemsectype
  1192. dw_child.SetRedraw(True)
  1193. dw_child.SetColumn("u_income_expenses_mx_amt")
  1194. END IF
  1195. IF Key = keyenter! THEN
  1196. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1197. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1198. RETURN 1
  1199. END IF
  1200. else
  1201. If Key = keyenter! Then
  1202. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  1203. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  1204. Return 1
  1205. End If
  1206. END IF
  1207. END IF
  1208. END IF
  1209. END IF
  1210. end event
  1211. event dw_child::itemchanged;call super::itemchanged;IF dwo.Name = 'u_income_expenses_mx_buildtype' THEN
  1212. dw_child.Object.u_income_expenses_mx_relbillcode[row] = ''
  1213. dw_child.Object.u_income_expenses_mx_relscid[row] = 0
  1214. dw_child.Object.u_income_expenses_mx_relbillid[row] = 0
  1215. END IF
  1216. end event
  1217. event dw_child::doubleclicked;IF Not dw_edit_mode THEN RETURN
  1218. dw_child.AcceptText()
  1219. IF row > 0 THEN
  1220. IF dwo.Name = 'u_income_expenses_mx_relbillcode' THEN
  1221. IF dw_child.Object.u_income_expenses_mx_buildtype[row] = 1 THEN
  1222. Parent.TriggerEvent('ue_f10')
  1223. ELSEIF dw_child.Object.u_income_expenses_mx_buildtype[row] = 2 THEN
  1224. Parent.TriggerEvent('ue_f7')
  1225. ELSEIF dw_child.Object.u_income_expenses_mx_buildtype[row] = 3 THEN
  1226. Parent.TriggerEvent('ue_f9')
  1227. END IF
  1228. ELSE
  1229. Parent.TriggerEvent('ue_f8')
  1230. END IF
  1231. END IF
  1232. end event
  1233. type cb_viewprint from w_publ_1ton_share_detail`cb_viewprint within w_msttake_other
  1234. integer x = 1673
  1235. end type
  1236. type cb_print from w_publ_1ton_share_detail`cb_print within w_msttake_other
  1237. integer x = 1481
  1238. end type
  1239. type cb_add from w_publ_1ton_share_detail`cb_add within w_msttake_other
  1240. integer x = 293
  1241. end type
  1242. event cb_add::clicked;IF Not f_power_ind(1854,sys_msg_pow) THEN
  1243. MessageBox(publ_operator,sys_msg_pow)
  1244. RETURN
  1245. END IF
  1246. String arg_msg = ''
  1247. Long uc_row
  1248. Long ll_i
  1249. Decimal ld_amt_uc,ld_amt_mx
  1250. IF dw_edit_mode THEN
  1251. dw_uc.AcceptText()
  1252. dw_child.AcceptText()
  1253. uc_row = dw_uc.GetRow()
  1254. IF uc_row <= 0 THEN
  1255. MessageBox('系统提示','请选定当前目标单据!')
  1256. RETURN
  1257. END IF
  1258. IF Not dw_uc.Object.u_income_expenses_outdate[uc_row] > DateTime(2000-01-01,Now()) THEN
  1259. MessageBox('系统提示','不合理日期')
  1260. dw_uc.SetFocus()
  1261. dw_uc.SetColumn('u_income_expenses_outdate')
  1262. RETURN
  1263. END IF
  1264. IF Trim(dw_uc.Object.u_income_expenses_rep[uc_row]) = '' THEN
  1265. MessageBox('系统提示','请输入经手人')
  1266. dw_uc.SetFocus()
  1267. dw_uc.SetColumn('u_income_expenses_rep')
  1268. RETURN
  1269. END IF
  1270. IF dw_uc.Object.u_income_expenses_banktypeid[uc_row] = 0 THEN
  1271. MessageBox('系统提示','请选择结算方式')
  1272. dw_uc.SetFocus()
  1273. dw_uc.SetColumn('u_income_expenses_banktypeid')
  1274. RETURN
  1275. END IF
  1276. IF dw_uc.Object.spt_cus_id[uc_row] = 0 or isnull(dw_uc.Object.spt_cus_id[uc_row]) THEN
  1277. MessageBox('系统提示','请选择客户')
  1278. dw_uc.SetFocus()
  1279. dw_uc.SetColumn('u_cust_cuscode')
  1280. RETURN
  1281. END IF
  1282. //检查金额
  1283. // IF sys_option_income_secaudit = 1 And dw_uc.Object.u_income_expenses_flag[uc_row] = 1 THEN
  1284. // ld_amt_uc = dw_uc.Object.u_income_expenses_amt[uc_row]
  1285. //
  1286. // ld_amt_mx = 0
  1287. // FOR ll_i = 1 To dw_child.RowCount()
  1288. // ld_amt_mx = ld_amt_mx + dw_child.Object.u_income_expenses_mx_amt[ll_i]
  1289. // NEXT
  1290. //
  1291. // IF ld_amt_uc <> ld_amt_mx THEN
  1292. // MessageBox('系统提示','明细总金额与主表金额不一致,请检查')
  1293. // RETURN
  1294. // END IF
  1295. // END IF
  1296. uo_ie.credencecode = dw_uc.Object.u_income_expenses_credencecode[uc_row]
  1297. uo_ie.banktypeid = dw_uc.Object.u_income_expenses_banktypeid[uc_row]
  1298. uo_ie.rapmoneyid = dw_uc.Object.u_income_expenses_rapmoneyid[uc_row]
  1299. uo_ie.accountsid = dw_uc.Object.u_income_expenses_accountsid[uc_row]
  1300. uo_ie.outdate = dw_uc.Object.u_income_expenses_outdate[uc_row]
  1301. uo_ie.Descrp = dw_uc.Object.u_income_expenses_Descrp[uc_row]
  1302. uo_ie.rep = dw_uc.Object.u_income_expenses_rep[uc_row]
  1303. uo_ie.scid = dw_uc.Object.scid[uc_row]
  1304. uo_ie.spt_cus_id = dw_uc.Object.spt_cus_id[uc_row]
  1305. // uo_ie.itemid = dw_uc.Object.u_income_expenses_itemid[uc_row]
  1306. uo_ie.billtype = 3
  1307. uo_ie.scid = dw_uc.Object.scid[uc_row]
  1308. uo_ie.itemflag = 1
  1309. FOR ll_i = 1 To dw_child.RowCount()
  1310. IF dw_child.Object.u_income_expenses_mx_itemid[ll_i] > 0 And dw_child.Object.u_income_expenses_mx_amt[ll_i] <> 0 THEN
  1311. IF uo_ie.acceptmx(dw_child.Object.u_income_expenses_mx_itemid[ll_i] ,&
  1312. dw_child.Object.u_income_expenses_mx_amt[ll_i],&
  1313. dw_child.Object.u_income_expenses_mx_deptid[ll_i],&
  1314. dw_child.Object.u_income_expenses_mx_buildtype[ll_i],&
  1315. dw_child.Object.u_income_expenses_mx_relscid[ll_i],&
  1316. dw_child.Object.u_income_expenses_mx_relbillid[ll_i],&
  1317. dw_child.Object.u_income_expenses_mx_relbillcode[ll_i],&
  1318. dw_child.Object.u_income_expenses_mx_useemp[ll_i],&
  1319. dw_child.Object.u_income_expenses_mx_mxdscrp[ll_i],&
  1320. arg_msg) = 0 THEN
  1321. MessageBox('Error',arg_msg)
  1322. RETURN
  1323. END IF
  1324. END IF
  1325. NEXT
  1326. IF uo_ie.Save(publ_operator,arg_msg,True) = 0 THEN
  1327. MessageBox('error!',arg_msg)
  1328. RETURN
  1329. END IF
  1330. MessageBox(publ_operator,'保存操作成功!')
  1331. f_SetProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "moneyid",String(dw_uc.Object.u_income_expenses_rapmoneyid[dw_uc.GetRow()]))
  1332. f_SetProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",String(dw_uc.Object.u_income_expenses_banktypeid[dw_uc.GetRow()]))
  1333. Long ll_row
  1334. ll_row = dw_pageretr.GetRow()
  1335. dw_pageretr.SelectRow(0,False)
  1336. dw_pageretr.SelectRow(ll_row,True)
  1337. wf_refresh_curuc(uo_ie.billid)
  1338. ELSE
  1339. if cur_itemflag = 0 then
  1340. MessageBox('error!','请选择收支方向')
  1341. RETURN
  1342. end if
  1343. if cur_scid < 0 then
  1344. MessageBox('error!','请选择分部')
  1345. RETURN
  1346. end if
  1347. IF uo_ie.newbegin(arg_msg) = 0 THEN
  1348. MessageBox('error!',arg_msg)
  1349. RETURN
  1350. END IF
  1351. END IF
  1352. CALL Super::Clicked
  1353. IF dw_edit_mode THEN
  1354. Parent.TriggerEvent("insert_childrow")
  1355. dw_uc.Object.itemflag[dw_uc.GetRow()] = 1
  1356. dw_uc.Object.u_income_expenses_rep[dw_uc.GetRow()] =publ_operator
  1357. String ls_moneyid,ls_banktype
  1358. ls_moneyid = f_ProfileString (sys_empid,publ_userid+'_'+dw_uc.DataObject, "moneyid",'0')
  1359. ls_banktype = f_ProfileString (sys_empid,dw_uc.DataObject, "dft_banktype",'0')
  1360. dw_uc.Object.u_income_expenses_rapmoneyid[dw_uc.GetRow()]=long(ls_moneyid)
  1361. dw_uc.Object.u_income_expenses_banktypeid[dw_uc.GetRow()]=long(ls_banktype)
  1362. dw_uc.Object.scid[dw_uc.GetRow()] = cur_scid
  1363. ELSE
  1364. Parent.TriggerEvent("retrieve_childdw")
  1365. IF cbx_1.Checked THEN
  1366. This.TriggerEvent(Clicked!)
  1367. RETURN 1
  1368. END IF
  1369. END IF
  1370. end event
  1371. type cb_edit from w_publ_1ton_share_detail`cb_edit within w_msttake_other
  1372. integer x = 485
  1373. end type
  1374. event cb_edit::clicked;IF Not f_power_ind(1855,sys_msg_pow) THEN
  1375. MessageBox(publ_operator,sys_msg_pow)
  1376. RETURN
  1377. END IF
  1378. string arg_msg=''
  1379. long uc_row
  1380. uc_row=dw_pageretr.getrow()
  1381. if uc_row<=0 then
  1382. messagebox('系统提示','请选定当前目标单据!')
  1383. return
  1384. end if
  1385. if not dw_edit_mode then
  1386. if uo_ie.updatebegin(dw_pageretr.object.U_income_expenses_billid[uc_row],arg_msg)=0 then
  1387. messagebox('Error!',arg_msg)
  1388. return
  1389. end if
  1390. wf_refresh_curuc(dw_pageretr.Object.U_income_expenses_billid[uc_row])
  1391. end if
  1392. call super::clicked
  1393. end event
  1394. type cb_delet from w_publ_1ton_share_detail`cb_delet within w_msttake_other
  1395. integer x = 677
  1396. end type
  1397. event cb_delet::clicked;call super::clicked;IF Not f_power_ind(1856,sys_msg_pow) THEN
  1398. MessageBox(publ_operator,sys_msg_pow)
  1399. RETURN
  1400. END IF
  1401. IF dw_edit_mode THEN RETURN
  1402. String arg_msg = ''
  1403. Long uc_row
  1404. uc_row = dw_pageretr.GetRow()
  1405. IF uc_row <= 0 THEN
  1406. MessageBox('系统提示','请选定当前目标单据!')
  1407. RETURN
  1408. END IF
  1409. IF MessageBox ("IF","是否确定要删除当前单据吗?",Question!,YesNo! ) = 2 THEN RETURN
  1410. IF uo_ie.Cancel(dw_pageretr.Object.U_income_expenses_billid[uc_row],arg_msg,True) = 0 THEN
  1411. MessageBox('Error!',arg_msg)
  1412. ELSE
  1413. //日志
  1414. Long ls_id
  1415. String ls_code
  1416. ls_id = dw_pageretr.Object.U_income_expenses_billid[uc_row]
  1417. ls_code = dw_pageretr.Object.U_income_expenses_billcode[uc_row]
  1418. f_setsysoplog('收支单','收支单删除,id:'+String(ls_id)+',code:'+ls_code,arg_msg,True)
  1419. //--
  1420. MessageBox(publ_operator,'删除单据'+String(dw_pageretr.Object.U_income_expenses_billcode[uc_row])+'成功!')
  1421. dw_pageretr.DeleteRow(uc_row)
  1422. dw_pageretr.TriggerEvent(RowFocusChanged!)
  1423. END IF
  1424. end event
  1425. type cb_addzy from w_publ_1ton_share_detail`cb_addzy within w_msttake_other
  1426. integer x = 1211
  1427. integer width = 270
  1428. end type
  1429. event cb_addzy::clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1430. String menustr
  1431. IF Not dw_edit_mode THEN
  1432. menustr = "Text=补充备注~tEvent=ue_addzy"
  1433. END IF
  1434. IF Len(Trim(menustr)) <> 0 THEN
  1435. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  1436. dmPopupMenu.mf_BuildMenu(This, menustr)
  1437. dmPopupMenu.mf_PopMenu()
  1438. Destroy dmPopupMenu
  1439. END IF
  1440. end event
  1441. type cb_auditing from w_publ_1ton_share_detail`cb_auditing within w_msttake_other
  1442. integer x = 827
  1443. end type
  1444. event cb_auditing::clicked;call super::clicked;IF dw_edit_mode THEN RETURN
  1445. String arg_msg = ''
  1446. Long pagerert_row
  1447. Long ll_i,ll_billid,ll_scid
  1448. Int li_flag
  1449. Long ll_suc,ll_fail
  1450. IF Not KeyDown(KeyControl!) THEN
  1451. pagerert_row = dw_pageretr.GetRow()
  1452. IF pagerert_row <= 0 THEN
  1453. MessageBox('系统提示','请选定当前目标单据!')
  1454. RETURN
  1455. END IF
  1456. IF dw_pageretr.Object.u_income_expenses_flag[pagerert_row] = 0 THEN
  1457. IF Not f_power_ind(1857,sys_msg_pow) THEN
  1458. MessageBox(publ_operator,sys_msg_pow)
  1459. RETURN
  1460. END IF
  1461. IF MessageBox ("询问","是否确定要审核当前单据?",question!,yesno! ) = 2 THEN RETURN
  1462. IF uo_ie.permit(dw_pageretr.Object.u_income_expenses_billid[pagerert_row],publ_operator,arg_msg,True) = 0 THEN
  1463. MessageBox('error!',arg_msg)
  1464. ELSE
  1465. MessageBox(publ_operator,'审核成功!')
  1466. wf_refresh_curuc(dw_pageretr.Object.u_income_expenses_billid[pagerert_row])
  1467. END IF
  1468. // ELSEIF dw_pageretr.Object.u_income_expenses_flag[pagerert_row] = 1 And dw_pageretr.Object.u_income_expenses_secflag[pagerert_row] = 0 THEN
  1469. // IF Not f_power_ind(995,sys_msg_pow) THEN
  1470. // MessageBox(publ_operator,sys_msg_pow)
  1471. // RETURN
  1472. // END IF
  1473. //
  1474. // IF MessageBox ("询问","是否确定要财务确认当前单据?",question!,yesno! ) = 2 THEN RETURN
  1475. //
  1476. // IF uo_ie.permit2(dw_pageretr.Object.u_income_expenses_billid[pagerert_row],publ_operator,arg_msg,True) = 0 THEN
  1477. // MessageBox('error!',arg_msg)
  1478. // ELSE
  1479. // MessageBox(publ_operator,'财务确认成功!')
  1480. // wf_refresh_curuc(dw_pageretr.Object.u_income_expenses_billid[pagerert_row])
  1481. // END IF
  1482. END IF
  1483. ELSE
  1484. IF Not f_power_ind(991,sys_msg_pow) THEN
  1485. MessageBox(publ_operator,sys_msg_pow)
  1486. RETURN
  1487. END IF
  1488. IF MessageBox ("询问","是否确定要批审核列表中未审核的单据?",question!,yesno! ) = 2 THEN RETURN
  1489. dw_pageretr.AcceptText()
  1490. Open(w_sys_wait_jdt) //初始化进度条
  1491. w_sys_wait_jdt.Show()
  1492. w_sys_wait_jdt.wf_accepttol(dw_pageretr.RowCount())
  1493. FOR ll_i = 1 To dw_pageretr.RowCount()
  1494. w_sys_wait_jdt.st_msg.Text = dw_pageretr.Object.u_income_expenses_billcode[ll_i] + " 正在审核..." //进度信息
  1495. li_flag = dw_pageretr.Object.u_income_expenses_flag[ll_i]
  1496. IF li_flag = 1 THEN CONTINUE
  1497. ll_billid = dw_pageretr.Object.u_income_expenses_billid[ll_i]
  1498. IF uo_ie.permit(ll_billid,publ_operator,arg_msg,True) = 0 THEN
  1499. ll_fail++
  1500. CONTINUE
  1501. END IF
  1502. ll_suc++
  1503. w_sys_wait_jdt.wf_inc(ll_i) //进度
  1504. NEXT
  1505. Close(w_sys_wait_jdt)
  1506. MessageBox(publ_operator,'批审核成功!成功:'+String(ll_suc)+',失败:'+String(ll_fail))
  1507. Parent.TriggerEvent('retrieve_pageretr')
  1508. END IF
  1509. end event
  1510. type cb_xm from w_publ_1ton_share_detail`cb_xm within w_msttake_other
  1511. boolean visible = false
  1512. integer x = 3026
  1513. boolean enabled = false
  1514. end type
  1515. type cb_retrieve from w_publ_1ton_share_detail`cb_retrieve within w_msttake_other
  1516. integer width = 142
  1517. end type
  1518. type cb_xls from w_publ_1ton_share_detail`cb_xls within w_msttake_other
  1519. integer x = 1865
  1520. end type
  1521. type cb_help from w_publ_1ton_share_detail`cb_help within w_msttake_other
  1522. integer x = 2167
  1523. end type
  1524. type cb_auditing_cancel from w_publ_1ton_share_detail`cb_auditing_cancel within w_msttake_other
  1525. integer x = 1019
  1526. integer width = 192
  1527. end type
  1528. event cb_auditing_cancel::clicked;call super::clicked;
  1529. IF dw_edit_mode THEN RETURN
  1530. String arg_msg = ''
  1531. String ls_code
  1532. Long pagerert_row
  1533. pagerert_row = dw_pageretr.GetRow()
  1534. IF pagerert_row <= 0 THEN
  1535. MessageBox('系统提示','请选定当前目标单据!')
  1536. RETURN
  1537. END IF
  1538. IF dw_pageretr.Object.u_income_expenses_flag[pagerert_row] = 1 And dw_pageretr.Object.u_income_expenses_secflag[pagerert_row] = 0 THEN
  1539. IF Not f_power_ind(1858,sys_msg_pow) THEN
  1540. MessageBox(publ_operator,sys_msg_pow)
  1541. RETURN
  1542. END IF
  1543. IF MessageBox ("询问","是否确定要撤消审核当前单据?",question!,yesno! ) = 2 THEN RETURN
  1544. IF uo_ie.cancelpermit(dw_pageretr.Object.u_income_expenses_billid[pagerert_row],arg_msg,True) = 0 THEN
  1545. MessageBox('error!',arg_msg)
  1546. ELSE
  1547. MessageBox(publ_operator,'撤消审核成功!')
  1548. wf_refresh_curuc(dw_pageretr.Object.u_income_expenses_billid[pagerert_row])
  1549. //日志
  1550. ls_code = dw_pageretr.Object.u_income_expenses_billcode[pagerert_row]
  1551. f_setsysoplog('其它应收单','其它应收单撤审'+',code:'+ls_code,arg_msg,True)
  1552. //--
  1553. END IF
  1554. //ELSEIF dw_pageretr.Object.u_income_expenses_flag[pagerert_row] = 1 And dw_pageretr.Object.u_income_expenses_secflag[pagerert_row] = 1 THEN
  1555. //
  1556. // IF MessageBox ("询问","是否确定要财务反确认当前单据?",question!,yesno! ) = 2 THEN RETURN
  1557. //
  1558. // IF Not f_power_ind(996,sys_msg_pow) THEN
  1559. // MessageBox(publ_operator,sys_msg_pow)
  1560. // RETURN
  1561. // END IF
  1562. //
  1563. // IF uo_ie.cancelpermit2(dw_pageretr.Object.u_income_expenses_billid[pagerert_row],arg_msg,True) = 0 THEN
  1564. // MessageBox('error!',arg_msg)
  1565. // ELSE
  1566. // MessageBox(publ_operator,'财务反确认成功!')
  1567. // wf_refresh_curuc(dw_pageretr.Object.u_income_expenses_billid[pagerert_row])
  1568. //
  1569. // //日志
  1570. // ls_code = dw_pageretr.Object.u_income_expenses_billcode[pagerert_row]
  1571. // f_setsysoplog('其它收入支出单','其它收入支出单财务反确认'+',code:'+ls_code,arg_msg,True)
  1572. // //--
  1573. // END IF
  1574. END IF
  1575. end event
  1576. type p_msg from w_publ_1ton_share_detail`p_msg within w_msttake_other
  1577. end type
  1578. type p_help from w_publ_1ton_share_detail`p_help within w_msttake_other
  1579. end type
  1580. type p_encl from w_publ_1ton_share_detail`p_encl within w_msttake_other
  1581. end type
  1582. type p_other from w_publ_1ton_share_detail`p_other within w_msttake_other
  1583. end type
  1584. type gb_3 from w_publ_1ton_share_detail`gb_3 within w_msttake_other
  1585. end type
  1586. type ln_bar from w_publ_1ton_share_detail`ln_bar within w_msttake_other
  1587. integer endx = 2894
  1588. end type
  1589. type ln_bar2 from w_publ_1ton_share_detail`ln_bar2 within w_msttake_other
  1590. end type
  1591. type r_bar from w_publ_1ton_share_detail`r_bar within w_msttake_other
  1592. integer x = 3008
  1593. end type
  1594. type ln_1 from w_publ_1ton_share_detail`ln_1 within w_msttake_other
  1595. end type
  1596. type ln_2 from w_publ_1ton_share_detail`ln_2 within w_msttake_other
  1597. end type
  1598. type ddlb_status from dropdownlistbox within w_msttake_other
  1599. integer x = 1618
  1600. integer y = 188
  1601. integer width = 453
  1602. integer height = 412
  1603. integer taborder = 10
  1604. boolean bringtotop = true
  1605. integer textsize = -9
  1606. integer weight = 400
  1607. fontcharset fontcharset = gb2312charset!
  1608. fontpitch fontpitch = variable!
  1609. string facename = "宋体"
  1610. long textcolor = 33554432
  1611. string text = "[全部]"
  1612. boolean sorted = false
  1613. string item[] = {"[全部]","待审核","审核完毕"}
  1614. borderstyle borderstyle = stylelowered!
  1615. end type
  1616. event selectionchanged;IF Index = 1 THEN
  1617. cur_flag = -1
  1618. cur_secflag = -1
  1619. ELSEIF Index = 2 THEN
  1620. cur_flag = 0
  1621. cur_secflag = 0
  1622. ELSEIF Index = 3 THEN
  1623. cur_flag = 1
  1624. cur_secflag = -1
  1625. //ELSEIF Index = 4 THEN
  1626. // cur_flag = 1
  1627. // cur_secflag = 1
  1628. END IF
  1629. Parent.TriggerEvent('retrieve_pageretr')
  1630. end event
  1631. type st_3 from statictext within w_msttake_other
  1632. integer x = 1486
  1633. integer y = 204
  1634. integer width = 114
  1635. integer height = 48
  1636. boolean bringtotop = true
  1637. integer textsize = -9
  1638. integer weight = 400
  1639. fontcharset fontcharset = gb2312charset!
  1640. fontpitch fontpitch = variable!
  1641. string facename = "宋体"
  1642. long textcolor = 33554432
  1643. long backcolor = 134217739
  1644. string text = "状态"
  1645. alignment alignment = center!
  1646. boolean focusrectangle = false
  1647. end type
  1648. type ddlb_itemflag from dropdownlistbox within w_msttake_other
  1649. boolean visible = false
  1650. integer x = 2226
  1651. integer y = 188
  1652. integer width = 439
  1653. integer height = 300
  1654. integer taborder = 20
  1655. boolean bringtotop = true
  1656. integer textsize = -9
  1657. integer weight = 400
  1658. fontcharset fontcharset = gb2312charset!
  1659. fontpitch fontpitch = variable!
  1660. string facename = "宋体"
  1661. long textcolor = 33554432
  1662. string text = "支出"
  1663. boolean sorted = false
  1664. string item[] = {"[全部]","支出","收入"}
  1665. borderstyle borderstyle = stylelowered!
  1666. end type
  1667. event selectionchanged;IF This.Text = '[全部]' THEN
  1668. cur_itemflag = 0
  1669. ELSEIF This.Text = '收入' THEN
  1670. cur_itemflag = 1
  1671. ELSE
  1672. cur_itemflag = -1
  1673. END IF
  1674. Parent.TriggerEvent('retrieve_pageretr')
  1675. end event
  1676. type st_2 from statictext within w_msttake_other
  1677. boolean visible = false
  1678. integer x = 2085
  1679. integer y = 204
  1680. integer width = 119
  1681. integer height = 48
  1682. boolean bringtotop = true
  1683. integer textsize = -9
  1684. integer weight = 400
  1685. fontcharset fontcharset = gb2312charset!
  1686. fontpitch fontpitch = variable!
  1687. string facename = "宋体"
  1688. long textcolor = 33554432
  1689. long backcolor = 134217739
  1690. string text = "方向"
  1691. boolean focusrectangle = false
  1692. end type
  1693. type ddlb_scid from uo_ddlb_scid within w_msttake_other
  1694. integer x = 896
  1695. integer y = 188
  1696. integer width = 549
  1697. integer height = 1120
  1698. integer taborder = 20
  1699. boolean bringtotop = true
  1700. end type
  1701. event constructor;call super::constructor;cur_scid = This.uo_scid
  1702. end event
  1703. event selectionchanged;call super::selectionchanged;cur_scid = This.uo_scid
  1704. Parent.TriggerEvent("retrieve_pageretr")
  1705. end event
  1706. type st_4 from statictext within w_msttake_other
  1707. integer x = 713
  1708. integer y = 204
  1709. integer width = 165
  1710. integer height = 48
  1711. integer textsize = -9
  1712. integer weight = 400
  1713. fontcharset fontcharset = gb2312charset!
  1714. fontpitch fontpitch = variable!
  1715. string facename = "宋体"
  1716. long textcolor = 33554432
  1717. long backcolor = 134217739
  1718. string text = "分部"
  1719. alignment alignment = right!
  1720. boolean focusrectangle = false
  1721. end type
  1722. type cbx_1 from checkbox within w_msttake_other
  1723. integer x = 2688
  1724. integer y = 196
  1725. integer width = 411
  1726. integer height = 60
  1727. boolean bringtotop = true
  1728. integer textsize = -9
  1729. integer weight = 400
  1730. fontcharset fontcharset = gb2312charset!
  1731. fontpitch fontpitch = variable!
  1732. string facename = "宋体"
  1733. long textcolor = 33554432
  1734. long backcolor = 134217739
  1735. string text = "保存自动新建"
  1736. end type
  1737. event constructor;int li_auto
  1738. li_auto =long(f_profilestring(sys_empid, this.classname(), "auto_add", string(0)))
  1739. if li_auto = 1 then
  1740. this.checked = true
  1741. else
  1742. this.checked = false
  1743. end if
  1744. end event