w_cusamt_other.srw 67 KB

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