w_bmstamt_edit.srw 66 KB

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