w_eb_cusamt.srw 35 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406
  1. $PBExportHeader$w_eb_cusamt.srw
  2. forward
  3. global type w_eb_cusamt from w_publ_base
  4. end type
  5. type cb_reflash from uo_imflatbutton within w_eb_cusamt
  6. end type
  7. type cb_edit from uo_imflatbutton within w_eb_cusamt
  8. end type
  9. type cb_del from uo_imflatbutton within w_eb_cusamt
  10. end type
  11. type cbx_1 from checkbox within w_eb_cusamt
  12. end type
  13. type cb_addmx from uo_imflatbutton within w_eb_cusamt
  14. end type
  15. type ddlb_scid from uo_ddlb_scid within w_eb_cusamt
  16. end type
  17. type cb_import from uo_imflatbutton within w_eb_cusamt
  18. end type
  19. type r_bar from rectangle within w_eb_cusamt
  20. end type
  21. type ln_bar from line within w_eb_cusamt
  22. end type
  23. type ln_bar2 from line within w_eb_cusamt
  24. end type
  25. type ln_1 from line within w_eb_cusamt
  26. end type
  27. type ln_2 from line within w_eb_cusamt
  28. end type
  29. type dw_1 from u_dw_rbtnfilter within w_eb_cusamt
  30. end type
  31. type cb_accept from uo_imflatbutton within w_eb_cusamt
  32. end type
  33. type cb_match from uo_imflatbutton within w_eb_cusamt
  34. end type
  35. end forward
  36. global type w_eb_cusamt from w_publ_base
  37. integer width = 3113
  38. integer height = 2124
  39. string title = "网店订单收款"
  40. boolean maxbox = true
  41. boolean resizable = true
  42. event ue_f9 ( )
  43. event ue_f8 ( )
  44. event ue_xls_import ( )
  45. event ue_accept ( )
  46. event ue_taobao_import ( )
  47. event ue_match ( )
  48. cb_reflash cb_reflash
  49. cb_edit cb_edit
  50. cb_del cb_del
  51. cbx_1 cbx_1
  52. cb_addmx cb_addmx
  53. ddlb_scid ddlb_scid
  54. cb_import cb_import
  55. r_bar r_bar
  56. ln_bar ln_bar
  57. ln_bar2 ln_bar2
  58. ln_1 ln_1
  59. ln_2 ln_2
  60. dw_1 dw_1
  61. cb_accept cb_accept
  62. cb_match cb_match
  63. end type
  64. global w_eb_cusamt w_eb_cusamt
  65. type variables
  66. long ins_child = 21
  67. long ins_child_min = 2
  68. uo_eb_cusamt ins_import
  69. end variables
  70. forward prototypes
  71. public function integer wf_save (ref string arg_msg)
  72. public subroutine wf_selectall ()
  73. public subroutine wf_face ()
  74. public function integer wf_del (ref string arg_msg)
  75. end prototypes
  76. event ue_f9();IF Not dw_edit_mode THEN RETURN
  77. Long ll_row
  78. ll_row = dw_1.GetRow()
  79. IF ll_row <= 0 THEN RETURN
  80. s_edit_index_tran s_ch_tran //传递参数使用
  81. s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行
  82. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  83. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  84. //查询列(物料编码)部分内容,用于初步筛选
  85. s_ch_tran.arg_string_code = dw_1.Object.cuscode[ll_row]
  86. OpenWithParm(W_cust_edit,s_ch_tran) //调用
  87. s_custom S_INSCUST
  88. S_INSCUST = Message.PowerObjectParm //接受返回结构
  89. IF S_INSCUST.cusid <= 0 THEN RETURN
  90. dw_1.Object.cusid[ll_row] = S_INSCUST.cusid
  91. dw_1.Object.cuscode[ll_row] = S_INSCUST.cuscode
  92. dw_1.Object.name[ll_row] = S_INSCUST.Name
  93. end event
  94. event ue_f8();//用于选择明细内容,被F9[默认]
  95. IF Not dw_edit_mode THEN RETURN
  96. Long child_row
  97. child_row = dw_1.GetRow()
  98. IF child_row <= 0 THEN RETURN
  99. dw_1.AcceptText()
  100. Long ll_cusid,ll_billtype
  101. Long ls_taskid,ls_j
  102. String ls_taskcode
  103. Long ll_scid
  104. ll_cusid = dw_1.Object.cusid[child_row]
  105. IF IsNull(ll_cusid) Or ll_cusid = 0 THEN
  106. MessageBox(publ_operator,'请先选择客户')
  107. RETURN
  108. END IF
  109. IF dw_1.Object.scid[child_row] = 0 THEN
  110. ll_scid = ddlb_scid.uo_scid
  111. ELSE
  112. ll_scid = dw_1.Object.scid[child_row]
  113. END IF
  114. s_taobao_saletask_ch s_task
  115. s_task.scid = ll_scid
  116. s_task.cusid = ll_cusid
  117. s_task.taskcode = Upper(Trim(dw_1.Object.reltaskcode[child_row]))
  118. String arg_msg = ''
  119. IF uo_saletask_spi.uf_saletask_ch(Ref s_task, Ref arg_msg) <> 1 THEN
  120. MessageBox('ERROR', arg_msg)
  121. RETURN
  122. END IF
  123. IF s_task.taskid <= 0 THEN RETURN
  124. dw_1.SetRedraw(False)
  125. dw_1.Object.reltaskcode[child_row] = s_task.taskcode
  126. dw_1.Object.damt[child_row] = s_task.damt
  127. dw_1.Object.relid[child_row] = s_task.taskid
  128. dw_1.Object.billamt[child_row] = s_task.billamt
  129. dw_1.Object.reltakeamt[child_row] = s_task.takeamt
  130. dw_1.Object.takeamt[child_row] = s_task.noamt
  131. dw_1.Object.realmoneyid[child_row] = s_task.moneyid
  132. dw_1.Object.banktypeid[child_row] = s_task.banktypeid
  133. dw_1.Object.reldamt[child_row] = s_task.takedamt
  134. dw_1.SetRedraw(True)
  135. dw_1.SetColumn("accountsid")
  136. end event
  137. event ue_xls_import();// 从xls导入
  138. Int rslt = 1
  139. String arg_msg = ''
  140. String ls_path, ls_files[]
  141. IF GetFileOpenName("选择文件", ls_path,ls_files,"xls","Excel文件(*.xls),*.xls") <> 1 THEN
  142. RETURN
  143. END IF
  144. datastore ds_col30
  145. ds_col30 = Create datastore
  146. ds_col30.DataObject = 'dw_col100'
  147. Long ll_rt
  148. String ls_filename
  149. Long i, j
  150. IF UpperBound(ls_files) = 1 THEN
  151. ls_path = Left(ls_path, Len(ls_path) - Len(ls_files[1]))
  152. END IF
  153. IF Right(ls_path, 1) <> "\" THEN
  154. ls_path = ls_path + "\"
  155. END IF
  156. String ls_title, ls_value
  157. Long arr_map[]
  158. s_eb_cusamt s_import[]
  159. Long k = 0
  160. FOR i = 1 To UpperBound(ls_files)
  161. ds_col30.Reset()
  162. ls_filename = ls_path + ls_files[i]
  163. IF f_xls_to_dwcol100(ls_filename, ds_col30, arg_msg) <> 1 THEN
  164. rslt = 0
  165. GOTO ext
  166. END IF
  167. FOR i = 1 To 30
  168. ls_title = ds_col30.GetItemString(1, 'col' + String(i))
  169. IF IsNull(ls_title) THEN ls_title = ''
  170. ls_title = Trim(ls_title)
  171. IF ls_title = '单据日期' THEN
  172. arr_map[1] = i
  173. ELSEIF ls_title = '客户编码' THEN
  174. arr_map[2] = i
  175. ELSEIF ls_title = '客户名称' THEN
  176. arr_map[3] = i
  177. ELSEIF ls_title = '业务员' THEN
  178. arr_map[4] = i
  179. ELSEIF ls_title = '经手人' THEN
  180. arr_map[5] = i
  181. ELSEIF ls_title = '相关号码' THEN
  182. arr_map[6] = i
  183. ELSEIF ls_title = '备注' THEN
  184. arr_map[7] = i
  185. ELSEIF ls_title = '类型' THEN
  186. arr_map[8] = i
  187. ELSEIF ls_title = '订单号' THEN
  188. arr_map[9] = i
  189. ELSEIF ls_title = '单据金额' THEN
  190. arr_map[10] = i
  191. ELSEIF ls_title = '订金金额' THEN
  192. arr_map[11] = i
  193. ELSEIF ls_title = '已收订金' THEN
  194. arr_map[12] = i
  195. ELSEIF ls_title = '已收金额' THEN
  196. arr_map[13] = i
  197. ELSEIF ls_title = '本次出纳收款额' THEN
  198. arr_map[14] = i
  199. ELSEIF ls_title = '帐号' THEN
  200. arr_map[15] = i
  201. ELSEIF ls_title = '汇率' THEN
  202. arr_map[16] = i
  203. ELSEIF ls_title = '应收帐币种' THEN
  204. arr_map[17] = i
  205. ELSEIF ls_title = '收支项目' THEN
  206. arr_map[18] = i
  207. ELSEIF ls_title = '结算方式' THEN
  208. arr_map[19] = i
  209. ELSEIF ls_title = '明细备注' THEN
  210. arr_map[20] = i
  211. ELSEIF ls_title = '到帐日期' THEN
  212. arr_map[21] = i
  213. END IF
  214. NEXT
  215. FOR j = 2 To ds_col30.RowCount()
  216. k++
  217. s_import[k].id = 0
  218. IF arr_map[1] > 0 THEN
  219. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[1]))
  220. IF IsNull(ls_value) THEN ls_value = ''
  221. ls_value = Trim(ls_value)
  222. s_import[k].billdate = DateTime(Date(Left(ls_value, 10)), Time(Mid(ls_value, 11)))
  223. END IF
  224. IF arr_map[2] > 0 THEN
  225. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[2]))
  226. IF IsNull(ls_value) THEN ls_value = ''
  227. ls_value = Trim(ls_value)
  228. SELECT top 1 cusid
  229. INTO :s_import[k].cusid
  230. FROM u_cust
  231. Where cuscode = :ls_value;
  232. IF sqlca.SQLCode <> 0 THEN
  233. s_import[k].cusid = 0
  234. END IF
  235. END IF
  236. IF arr_map[4] > 0 THEN
  237. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[4]))
  238. IF IsNull(ls_value) THEN ls_value = ''
  239. ls_value = Trim(ls_value)
  240. s_import[k].custype = ls_value
  241. END IF
  242. IF arr_map[5] > 0 THEN
  243. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[5]))
  244. IF IsNull(ls_value) THEN ls_value = ''
  245. ls_value = Trim(ls_value)
  246. s_import[k].assign_emp = ls_value
  247. END IF
  248. IF arr_map[6] > 0 THEN
  249. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[6]))
  250. IF IsNull(ls_value) THEN ls_value = ''
  251. ls_value = Trim(ls_value)
  252. s_import[k].part = ls_value
  253. END IF
  254. IF arr_map[7] > 0 THEN
  255. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[7]))
  256. IF IsNull(ls_value) THEN ls_value = ''
  257. ls_value = Trim(ls_value)
  258. s_import[k].dscrp = ls_value
  259. END IF
  260. IF arr_map[8] > 0 THEN
  261. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[8]))
  262. IF IsNull(ls_value) THEN ls_value = ''
  263. ls_value = Trim(ls_value)
  264. IF ls_value = '订金收款' Or ls_value = '0' THEN
  265. s_import[k].billtype = 0
  266. ELSEIF ls_value = '余额收款' Or ls_value = '1' THEN
  267. s_import[k].billtype = 1
  268. ELSEIF ls_value = '自动对帐' Or ls_value = '2' THEN
  269. s_import[k].billtype = 2
  270. END IF
  271. END IF
  272. IF arr_map[9] > 0 THEN
  273. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[9]))
  274. IF IsNull(ls_value) THEN ls_value = ''
  275. ls_value = Trim(ls_value)
  276. s_import[k].reltaskcode = ls_value
  277. END IF
  278. IF arr_map[10] > 0 THEN
  279. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[10]))
  280. IF IsNull(ls_value) THEN ls_value = ''
  281. ls_value = Trim(ls_value)
  282. s_import[k].billamt = Dec(ls_value)
  283. END IF
  284. IF arr_map[11] > 0 THEN
  285. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[11]))
  286. IF IsNull(ls_value) THEN ls_value = ''
  287. ls_value = Trim(ls_value)
  288. s_import[k].damt = Dec(ls_value)
  289. END IF
  290. IF arr_map[12] > 0 THEN
  291. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[12]))
  292. IF IsNull(ls_value) THEN ls_value = ''
  293. ls_value = Trim(ls_value)
  294. s_import[k].reldamt = Dec(ls_value)
  295. END IF
  296. IF arr_map[13] > 0 THEN
  297. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[13]))
  298. IF IsNull(ls_value) THEN ls_value = ''
  299. ls_value = Trim(ls_value)
  300. s_import[k].reltakeamt = Dec(ls_value)
  301. END IF
  302. IF arr_map[14] > 0 THEN
  303. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[14]))
  304. IF IsNull(ls_value) THEN ls_value = ''
  305. ls_value = Trim(ls_value)
  306. s_import[k].takeamt = Dec(ls_value)
  307. END IF
  308. IF arr_map[15] > 0 THEN
  309. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[15]))
  310. IF IsNull(ls_value) THEN ls_value = ''
  311. ls_value = Trim(ls_value)
  312. SELECT TOP 1 accountsid
  313. INTO :s_import[k].accountsid
  314. FROM u_accounts
  315. Where accountsname = :ls_value;
  316. IF sqlca.SQLCode <> 0 THEN
  317. s_import[k].accountsid = 0
  318. END IF
  319. END IF
  320. IF arr_map[16] > 0 THEN
  321. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[16]))
  322. IF IsNull(ls_value) THEN ls_value = ''
  323. ls_value = Trim(ls_value)
  324. s_import[k].realrate = Dec(ls_value)
  325. END IF
  326. IF arr_map[17] > 0 THEN
  327. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[17]))
  328. IF IsNull(ls_value) THEN ls_value = ''
  329. ls_value = Trim(ls_value)
  330. SELECT top 1 moneyid
  331. INTO :s_import[k].realmoneyid
  332. FROM cw_currency
  333. Where Name = :ls_value;
  334. IF sqlca.SQLCode <> 0 THEN
  335. s_import[k].realmoneyid = 0
  336. END IF
  337. END IF
  338. IF arr_map[18] > 0 THEN
  339. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[18]))
  340. IF IsNull(ls_value) THEN ls_value = ''
  341. ls_value = Trim(ls_value)
  342. SELECT top 1 itemid
  343. INTO :s_import[k].itemid
  344. FROM u_itemdef
  345. Where itemname = :ls_value;
  346. IF sqlca.SQLCode <> 0 THEN
  347. s_import[k].itemid = 0
  348. END IF
  349. END IF
  350. IF arr_map[19] > 0 THEN
  351. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[19]))
  352. IF IsNull(ls_value) THEN ls_value = ''
  353. ls_value = Trim(ls_value)
  354. SELECT TOP 1 banktypeid
  355. INTO :s_import[k].banktypeid
  356. FROM cw_banktype
  357. Where banktypename = :ls_value;
  358. IF sqlca.SQLCode <> 0 THEN
  359. s_import[k].banktypeid = 0
  360. END IF
  361. END IF
  362. IF arr_map[20] > 0 THEN
  363. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[20]))
  364. IF IsNull(ls_value) THEN ls_value = ''
  365. ls_value = Trim(ls_value)
  366. s_import[k].mxdscrp = ls_value
  367. END IF
  368. IF arr_map[21] > 0 THEN
  369. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[21]))
  370. IF IsNull(ls_value) THEN ls_value = ''
  371. ls_value = Trim(ls_value)
  372. s_import[k].viewdate = DateTime(Date(Left(ls_value, 10)), Time(Mid(ls_value, 11)))
  373. END IF
  374. NEXT
  375. NEXT
  376. FOR i = 1 To UpperBound(s_import)
  377. IF ins_import.uf_save(s_import[i], arg_msg, False) <> 1 THEN
  378. rslt = 0
  379. GOTO ext
  380. END IF
  381. NEXT
  382. ext:
  383. Destroy ds_col30
  384. IF rslt = 1 THEN
  385. COMMIT;
  386. MessageBox('OK', '导入成功')
  387. cb_reflash.TriggerEvent(Clicked!)
  388. ELSE
  389. ROLLBACK;
  390. MessageBox('错误', arg_msg)
  391. END IF
  392. end event
  393. event ue_accept();// 接受选中的为订单收款单
  394. Int rslt = 1
  395. String arg_msg = ''
  396. Long i, arg_ids[]
  397. Long j = 0
  398. FOR i = 1 To dw_1.RowCount()
  399. IF Not dw_1.Object.ch[i] = 1 THEN CONTINUE
  400. j++
  401. arg_ids[j] = dw_1.Object.id[i]
  402. NEXT
  403. IF ins_import.uf_accepts(arg_ids, arg_msg) <> 1 THEN
  404. rslt = 0
  405. GOTO ext
  406. END IF
  407. ext:
  408. IF rslt = 1 THEN
  409. MessageBox('OK', '接受成功')
  410. cb_reflash.TriggerEvent(Clicked!)
  411. ELSE
  412. MessageBox('错误', arg_msg)
  413. END IF
  414. end event
  415. event ue_taobao_import();// 从xls导入
  416. Int rslt = 1
  417. String arg_msg = ''
  418. String ls_path, ls_files[]
  419. IF GetFileOpenName("选择文件", ls_path,ls_files,"xls","Excel文件(*.xls;*.csv),*.xls;*.csv") <> 1 THEN
  420. RETURN
  421. END IF
  422. oleobject excelserver
  423. excelserver = Create oleobject
  424. datastore ds_col30
  425. ds_col30 = Create datastore
  426. ds_col30.DataObject = 'dw_col30'
  427. Long ll_rt
  428. ll_rt = excelserver.ConnectToNewObject("excel.application")
  429. IF ll_rt <> 0 THEN
  430. rslt = 0
  431. arg_msg = '连接EXCEL失败,请检查计算机中是否安装了EXCEL!'
  432. GOTO ext
  433. END IF
  434. String ls_filename
  435. Long i, j
  436. IF UpperBound(ls_files) = 1 THEN
  437. ls_path = Left(ls_path, Len(ls_path) - Len(ls_files[1]))
  438. END IF
  439. IF Right(ls_path, 1) <> "\" THEN
  440. ls_path = ls_path + "\"
  441. END IF
  442. String ls_title, ls_value
  443. Long arr_map[]
  444. s_eb_cusamt s_import[]
  445. Long k = 0
  446. FOR i = 1 To UpperBound(ls_files)
  447. ds_col30.Reset()
  448. ls_filename = ls_path + ls_files[i]
  449. excelserver.workbooks.Open(ls_filename)
  450. excelserver.activesheet.cells.Copy
  451. ds_col30.ImportClipboard(5)
  452. FOR i = 1 To 30
  453. ls_title = ds_col30.GetItemString(1, 'col' + String(i))
  454. IF IsNull(ls_title) THEN ls_title = ''
  455. ls_title = Trim(ls_title, true)
  456. IF ls_title = '账务流水号' THEN
  457. arr_map[22] = i
  458. ELSEIF ls_title = '业务流水号' THEN
  459. arr_map[23] = i
  460. ELSEIF ls_title = '商户订单号' THEN
  461. arr_map[24] = i
  462. // ELSEIF ls_title = '商品名称' THEN
  463. // arr_map[7] = i
  464. ELSEIF ls_title = '发生时间' THEN
  465. arr_map[1] = i
  466. // ELSEIF ls_title = '对方账号' THEN
  467. // arr_map[20] = i
  468. ELSEIF ls_title = '收入金额(+元)' THEN
  469. arr_map[14] = i
  470. ELSEIF ls_title = '支出金额(-元)' THEN
  471. arr_map[13] = i
  472. END IF
  473. NEXT
  474. FOR j = 2 To ds_col30.RowCount()
  475. IF Len(ds_col30.GetItemString(j, 'col' + String(1))) > 50 THEN
  476. EXIT
  477. END IF
  478. k++
  479. s_import[k].id = 0
  480. IF arr_map[1] > 0 THEN
  481. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[1]))
  482. IF IsNull(ls_value) THEN ls_value = ''
  483. ls_value = Trim(ls_value, true)
  484. s_import[k].billdate = DateTime(Date(Left(ls_value, 10)), Time(Mid(ls_value, 11)))
  485. END IF
  486. IF arr_map[2] > 0 THEN
  487. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[2]))
  488. IF IsNull(ls_value) THEN ls_value = ''
  489. ls_value = Trim(ls_value, true)
  490. SELECT top 1 cusid
  491. INTO :s_import[k].cusid
  492. FROM u_cust
  493. Where cuscode = :ls_value;
  494. IF sqlca.SQLCode <> 0 THEN
  495. s_import[k].cusid = 0
  496. END IF
  497. END IF
  498. IF arr_map[4] > 0 THEN
  499. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[4]))
  500. IF IsNull(ls_value) THEN ls_value = ''
  501. ls_value = Trim(ls_value, true)
  502. s_import[k].custype = ls_value
  503. END IF
  504. IF arr_map[5] > 0 THEN
  505. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[5]))
  506. IF IsNull(ls_value) THEN ls_value = ''
  507. ls_value = Trim(ls_value, true)
  508. s_import[k].assign_emp = ls_value
  509. END IF
  510. IF arr_map[6] > 0 THEN
  511. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[6]))
  512. IF IsNull(ls_value) THEN ls_value = ''
  513. ls_value = Trim(ls_value, true)
  514. s_import[k].part = ls_value
  515. END IF
  516. IF arr_map[7] > 0 THEN
  517. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[7]))
  518. IF IsNull(ls_value) THEN ls_value = ''
  519. ls_value = Trim(ls_value, true)
  520. s_import[k].dscrp = ls_value
  521. END IF
  522. IF arr_map[8] > 0 THEN
  523. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[8]))
  524. IF IsNull(ls_value) THEN ls_value = ''
  525. ls_value = Trim(ls_value, true)
  526. IF ls_value = '订金收款' Or ls_value = '0' THEN
  527. s_import[k].billtype = 0
  528. ELSEIF ls_value = '余额收款' Or ls_value = '1' THEN
  529. s_import[k].billtype = 1
  530. ELSEIF ls_value = '自动对帐' Or ls_value = '2' THEN
  531. s_import[k].billtype = 2
  532. END IF
  533. END IF
  534. IF arr_map[9] > 0 THEN
  535. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[9]))
  536. IF IsNull(ls_value) THEN ls_value = ''
  537. ls_value = Trim(ls_value, true)
  538. s_import[k].reltaskcode = ls_value
  539. END IF
  540. IF arr_map[10] > 0 THEN
  541. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[10]))
  542. IF IsNull(ls_value) THEN ls_value = ''
  543. ls_value = Trim(ls_value, true)
  544. s_import[k].billamt = Dec(ls_value)
  545. END IF
  546. IF arr_map[11] > 0 THEN
  547. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[11]))
  548. IF IsNull(ls_value) THEN ls_value = ''
  549. ls_value = Trim(ls_value, true)
  550. s_import[k].damt = Dec(ls_value)
  551. END IF
  552. IF arr_map[12] > 0 THEN
  553. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[12]))
  554. IF IsNull(ls_value) THEN ls_value = ''
  555. ls_value = Trim(ls_value, true)
  556. s_import[k].reldamt = Dec(ls_value)
  557. END IF
  558. IF arr_map[13] > 0 THEN
  559. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[13]))
  560. IF IsNull(ls_value) THEN ls_value = ''
  561. ls_value = Trim(ls_value, true)
  562. s_import[k].reltakeamt = Dec(ls_value)
  563. END IF
  564. IF arr_map[14] > 0 THEN
  565. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[14]))
  566. IF IsNull(ls_value) THEN ls_value = ''
  567. ls_value = Trim(ls_value, true)
  568. s_import[k].takeamt = Dec(ls_value)
  569. END IF
  570. IF arr_map[15] > 0 THEN
  571. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[15]))
  572. IF IsNull(ls_value) THEN ls_value = ''
  573. ls_value = Trim(ls_value, true)
  574. SELECT TOP 1 accountsid
  575. INTO :s_import[k].accountsid
  576. FROM u_accounts
  577. Where accountsname = :ls_value;
  578. IF sqlca.SQLCode <> 0 THEN
  579. s_import[k].accountsid = 0
  580. END IF
  581. END IF
  582. IF arr_map[16] > 0 THEN
  583. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[16]))
  584. IF IsNull(ls_value) THEN ls_value = ''
  585. ls_value = Trim(ls_value, true)
  586. s_import[k].realrate = Dec(ls_value)
  587. END IF
  588. IF arr_map[17] > 0 THEN
  589. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[17]))
  590. IF IsNull(ls_value) THEN ls_value = ''
  591. ls_value = Trim(ls_value, true)
  592. SELECT top 1 moneyid
  593. INTO :s_import[k].realmoneyid
  594. FROM cw_currency
  595. Where Name = :ls_value;
  596. IF sqlca.SQLCode <> 0 THEN
  597. s_import[k].realmoneyid = 0
  598. END IF
  599. END IF
  600. IF arr_map[18] > 0 THEN
  601. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[18]))
  602. IF IsNull(ls_value) THEN ls_value = ''
  603. ls_value = Trim(ls_value, true)
  604. SELECT top 1 itemid
  605. INTO :s_import[k].itemid
  606. FROM u_itemdef
  607. Where itemname = :ls_value;
  608. IF sqlca.SQLCode <> 0 THEN
  609. s_import[k].itemid = 0
  610. END IF
  611. END IF
  612. IF arr_map[19] > 0 THEN
  613. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[19]))
  614. IF IsNull(ls_value) THEN ls_value = ''
  615. ls_value = Trim(ls_value, true)
  616. SELECT TOP 1 banktypeid
  617. INTO :s_import[k].banktypeid
  618. FROM cw_banktype
  619. Where banktypename = :ls_value;
  620. IF sqlca.SQLCode <> 0 THEN
  621. s_import[k].banktypeid = 0
  622. END IF
  623. END IF
  624. IF arr_map[20] > 0 THEN
  625. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[20]))
  626. IF IsNull(ls_value) THEN ls_value = ''
  627. ls_value = Trim(ls_value, true)
  628. s_import[k].mxdscrp = ls_value
  629. END IF
  630. IF arr_map[21] > 0 THEN
  631. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[21]))
  632. IF IsNull(ls_value) THEN ls_value = ''
  633. ls_value = Trim(ls_value, true)
  634. s_import[k].viewdate = DateTime(Date(Left(ls_value, 10)), Time(Mid(ls_value, 11)))
  635. END IF
  636. IF arr_map[22] > 0 THEN
  637. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[22]))
  638. IF IsNull(ls_value) THEN ls_value = ''
  639. ls_value = Trim(ls_value, true)
  640. s_import[k].trade_id = ls_value
  641. END IF
  642. IF arr_map[23] > 0 THEN
  643. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[23]))
  644. IF IsNull(ls_value) THEN ls_value = ''
  645. ls_value = Trim(ls_value, true)
  646. s_import[k].trade_no = ls_value
  647. END IF
  648. IF arr_map[24] > 0 THEN
  649. ls_value = ds_col30.GetItemString(j, 'col' + String(arr_map[24]))
  650. IF IsNull(ls_value) THEN ls_value = ''
  651. ls_value = Trim(ls_value, true)
  652. s_import[k].tid = ls_value
  653. END IF
  654. s_import[k].takeamt = s_import[k].takeamt + s_import[k].reltakeamt
  655. s_import[k].reltakeamt = 0
  656. s_import[k].im_type = 5
  657. NEXT
  658. NEXT
  659. FOR i = 1 To UpperBound(s_import)
  660. IF ins_import.uf_save(s_import[i], arg_msg, False) <> 1 THEN
  661. rslt = 0
  662. GOTO ext
  663. END IF
  664. NEXT
  665. ext:
  666. IF ll_rt = 0 THEN
  667. excelserver.DisconnectObject()
  668. END IF
  669. Destroy excelserver
  670. Destroy ds_col30
  671. IF rslt = 1 THEN
  672. COMMIT;
  673. MessageBox('OK', '导入成功')
  674. cb_reflash.TriggerEvent(Clicked!)
  675. ELSE
  676. ROLLBACK;
  677. MessageBox('错误', arg_msg)
  678. END IF
  679. end event
  680. event ue_match();IF Not dw_edit_mode THEN RETURN
  681. Long i
  682. String ls_msg = ''
  683. String ls_taskcode
  684. String ls_trade_no
  685. Long cnt
  686. Long ll_scid, ll_taskid, ll_cusid
  687. Decimal ld_billamt, ld_damt, ld_reldamt, ld_reltakeamt
  688. String ls_cuscode, ls_cusname
  689. FOR i = 1 To dw_1.RowCount()
  690. IF dw_1.Object.ch[i] <> 1 THEN CONTINUE
  691. IF dw_1.Object.im_type[i] = 5 THEN
  692. ls_trade_no = trim(dw_1.Object.trade_no[i], true)
  693. SELECT COUNT(distinct taskcode)
  694. INTO :cnt
  695. FROM eb_saletask_import
  696. WHERE im_type = 5
  697. And trade_no = :ls_trade_no;
  698. IF sqlca.SQLCode <> 0 THEN
  699. ls_msg += '第' + String(i) + '行,查询对应订单数失败,' + sqlca.SQLErrText + '~r~n'
  700. CONTINUE
  701. END IF
  702. IF cnt > 1 THEN
  703. ls_msg += '第' + String(i) + '行,查询对应订单数多于一个~r~n'
  704. CONTINUE
  705. END IF
  706. IF cnt = 0 THEN
  707. ls_msg += '第' + String(i) + '行,没有查到对应订单~r~n'
  708. CONTINUE
  709. END IF
  710. SELECT distinct taskcode
  711. INTO :ls_taskcode
  712. FROM eb_saletask_import
  713. WHERE im_type = 5
  714. And trade_no = :ls_trade_no;
  715. IF sqlca.SQLCode <> 0 THEN
  716. ls_msg += '第' + String(i) + '行,查询对应订单编号失败,' + sqlca.SQLErrText + '~r~n'
  717. CONTINUE
  718. END IF
  719. IF ls_taskcode = '' THEN
  720. ls_msg += '第' + String(i) + '行,对应的电商临时订单未被接受~r~n'
  721. CONTINUE
  722. END IF
  723. SELECT u_SaleTask.scid,
  724. u_SaleTask.TaskID,
  725. u_SaleTask.CusID,
  726. u_SaleTask.msttakeamt,
  727. u_SaleTask.damt,
  728. u_SaleTask.takedamt,
  729. u_SaleTask.takeamt,
  730. isnull(u_cust.cuscode,''),
  731. isnull(u_cust.name,'')
  732. INTO :ll_scid,
  733. :ll_taskid,
  734. :ll_cusid,
  735. :ld_billamt,
  736. :ld_damt,
  737. :ld_reldamt,
  738. :ld_reltakeamt,
  739. :ls_cuscode,
  740. :ls_cusname
  741. FROM u_SaleTask LEFT OUTER JOIN
  742. u_cust ON u_SaleTask.CusID = u_cust.cusid
  743. Where (u_SaleTask.taskcode = :ls_taskcode);
  744. IF sqlca.SQLCode <> 0 THEN
  745. ls_msg += '第' + String(i) + '行,查询对应订单失败,' + sqlca.SQLErrText + '~r~n'
  746. CONTINUE
  747. END IF
  748. dw_1.Object.scid[i] = ll_scid
  749. dw_1.Object.relid[i] = ll_taskid
  750. dw_1.Object.CusID[i] = ll_cusid
  751. dw_1.Object.billamt[i] = ld_billamt
  752. dw_1.Object.damt[i] = ld_damt
  753. dw_1.Object.reldamt[i] = ld_reldamt
  754. dw_1.Object.reltakeamt[i] = ld_reltakeamt
  755. dw_1.Object.cuscode[i] = ls_cuscode
  756. dw_1.Object.Name[i] = ls_cusname
  757. END IF
  758. NEXT
  759. IF ls_msg <> '' THEN
  760. OpenWithParm(w_message_err, ls_msg)
  761. END IF
  762. end event
  763. public function integer wf_save (ref string arg_msg);Int rslt = 1
  764. Long i
  765. s_eb_cusamt s_import, s_empty
  766. FOR i = 1 To dw_1.RowCount()
  767. IF dw_1.Object.ch[i] <> 1 THEN CONTINUE
  768. s_import = s_empty
  769. s_import.id = dw_1.Object.id[i]
  770. s_import.billdate = dw_1.Object.billdate[i]
  771. s_import.cusid = dw_1.Object.cusid[i]
  772. s_import.custype = dw_1.Object.custype[i]
  773. s_import.assign_emp = dw_1.Object.assign_emp[i]
  774. s_import.part = dw_1.Object.part[i]
  775. s_import.dscrp = dw_1.Object.dscrp[i]
  776. s_import.billtype = dw_1.Object.billtype[i]
  777. s_import.reltaskcode = dw_1.Object.reltaskcode[i]
  778. s_import.billamt = dw_1.Object.billamt[i]
  779. s_import.damt = dw_1.Object.damt[i]
  780. s_import.reldamt = dw_1.Object.reldamt[i]
  781. s_import.reltakeamt = dw_1.Object.reltakeamt[i]
  782. s_import.takeamt = dw_1.Object.takeamt[i]
  783. s_import.accountsid = dw_1.Object.accountsid[i]
  784. s_import.realrate = dw_1.Object.realrate[i]
  785. s_import.realmoneyid = dw_1.Object.realmoneyid[i]
  786. s_import.itemid = dw_1.Object.itemid[i]
  787. s_import.banktypeid = dw_1.Object.banktypeid[i]
  788. s_import.mxdscrp = dw_1.Object.mxdscrp[i]
  789. s_import.viewdate = dw_1.Object.viewdate[i]
  790. s_import.scid = dw_1.Object.scid[i]
  791. s_import.relid = dw_1.Object.relid[i]
  792. s_import.trade_id = dw_1.Object.trade_id[i]
  793. s_import.trade_no = dw_1.Object.trade_no[i]
  794. s_import.tid = dw_1.Object.tid[i]
  795. IF ins_import.uf_save(s_import, arg_msg, False) <> 1 THEN
  796. rslt = 0
  797. GOTO ext
  798. END IF
  799. NEXT
  800. ext:
  801. IF rslt = 1 THEN
  802. COMMIT;
  803. ELSE
  804. ROLLBACK;
  805. END IF
  806. RETURN rslt
  807. end function
  808. public subroutine wf_selectall ();Long ll_check
  809. IF cbx_1.Checked THEN
  810. ll_check = 1
  811. ELSE
  812. ll_check = 0
  813. END IF
  814. Long i
  815. FOR i = 1 To dw_1.RowCount()
  816. dw_1.Object.ch[i] = ll_check
  817. NEXT
  818. end subroutine
  819. public subroutine wf_face ();Long i
  820. cb_reflash.Enabled = Not dw_edit_mode
  821. cb_addmx.Enabled = dw_edit_mode
  822. cb_import.Enabled = Not dw_edit_mode
  823. cb_accept.Enabled = Not dw_edit_mode
  824. cb_match.Enabled = dw_edit_mode
  825. IF dw_edit_mode THEN
  826. FOR i = 1 To ins_child
  827. dw_1.SetTabOrder(i, i * 10)
  828. NEXT
  829. cb_edit.Text = '保存'
  830. cb_edit.normalpicname = 'Save.bmp'
  831. cb_del.Text = '放弃'
  832. cb_del.normalpicname = 'Undo.bmp'
  833. ELSE
  834. FOR i = 1 To ins_child_min - 1
  835. dw_1.SetTabOrder(i, i * 10)
  836. NEXT
  837. FOR i = ins_child_min To ins_child
  838. dw_1.SetTabOrder(i, 0)
  839. NEXT
  840. cb_edit.Text = '修改'
  841. cb_edit.normalpicname = 'OPEN.bmp'
  842. cb_del.Text = '删除'
  843. cb_del.normalpicname = 'delete.bmp'
  844. END IF
  845. cb_edit.of_init_draw()
  846. cb_edit.of_paint()
  847. cb_edit.TriggerEvent('ue_textchange')
  848. cb_del.of_init_draw()
  849. cb_del.of_paint()
  850. cb_del.TriggerEvent('ue_textchange')
  851. end subroutine
  852. public function integer wf_del (ref string arg_msg);Int rslt = 1
  853. Long i
  854. FOR i = 1 To dw_1.RowCount()
  855. IF dw_1.Object.ch[i] <> 1 THEN CONTINUE
  856. IF ins_import.uf_del(dw_1.Object.id[i], arg_msg, False) <> 1 THEN
  857. rslt = 0
  858. arg_msg = '第' + String(i) + '行,' + arg_msg
  859. GOTO ext
  860. END IF
  861. NEXT
  862. GOTO ext
  863. ext:
  864. IF rslt = 1 THEN
  865. COMMIT;
  866. ELSE
  867. ROLLBACK;
  868. END IF
  869. RETURN rslt
  870. end function
  871. on w_eb_cusamt.create
  872. int iCurrent
  873. call super::create
  874. this.cb_reflash=create cb_reflash
  875. this.cb_edit=create cb_edit
  876. this.cb_del=create cb_del
  877. this.cbx_1=create cbx_1
  878. this.cb_addmx=create cb_addmx
  879. this.ddlb_scid=create ddlb_scid
  880. this.cb_import=create cb_import
  881. this.r_bar=create r_bar
  882. this.ln_bar=create ln_bar
  883. this.ln_bar2=create ln_bar2
  884. this.ln_1=create ln_1
  885. this.ln_2=create ln_2
  886. this.dw_1=create dw_1
  887. this.cb_accept=create cb_accept
  888. this.cb_match=create cb_match
  889. iCurrent=UpperBound(this.Control)
  890. this.Control[iCurrent+1]=this.cb_reflash
  891. this.Control[iCurrent+2]=this.cb_edit
  892. this.Control[iCurrent+3]=this.cb_del
  893. this.Control[iCurrent+4]=this.cbx_1
  894. this.Control[iCurrent+5]=this.cb_addmx
  895. this.Control[iCurrent+6]=this.ddlb_scid
  896. this.Control[iCurrent+7]=this.cb_import
  897. this.Control[iCurrent+8]=this.r_bar
  898. this.Control[iCurrent+9]=this.ln_bar
  899. this.Control[iCurrent+10]=this.ln_bar2
  900. this.Control[iCurrent+11]=this.ln_1
  901. this.Control[iCurrent+12]=this.ln_2
  902. this.Control[iCurrent+13]=this.dw_1
  903. this.Control[iCurrent+14]=this.cb_accept
  904. this.Control[iCurrent+15]=this.cb_match
  905. end on
  906. on w_eb_cusamt.destroy
  907. call super::destroy
  908. destroy(this.cb_reflash)
  909. destroy(this.cb_edit)
  910. destroy(this.cb_del)
  911. destroy(this.cbx_1)
  912. destroy(this.cb_addmx)
  913. destroy(this.ddlb_scid)
  914. destroy(this.cb_import)
  915. destroy(this.r_bar)
  916. destroy(this.ln_bar)
  917. destroy(this.ln_bar2)
  918. destroy(this.ln_1)
  919. destroy(this.ln_2)
  920. destroy(this.dw_1)
  921. destroy(this.cb_accept)
  922. destroy(this.cb_match)
  923. end on
  924. event ue_before_open;call super::ue_before_open;ins_import = create uo_eb_cusamt
  925. dw_1.SetTransObject(sqlca)
  926. cb_reflash.TriggerEvent(clicked!)
  927. end event
  928. event open;call super::open;wf_face()
  929. end event
  930. event close;call super::close;destroy ins_import
  931. end event
  932. event resize;call super::resize;r_bar.Width = this.width
  933. ln_bar.endx = this.width
  934. ln_bar2.endx = this.width
  935. ln_1.endx = this.width
  936. ln_2.endx = this.width
  937. dw_1.height = this.WorkSpaceHeight() - dw_1.Y
  938. dw_1.Width = this.WorkSpaceWidth() - dw_1.X
  939. end event
  940. type cb_func from w_publ_base`cb_func within w_eb_cusamt
  941. boolean visible = false
  942. integer width = 165
  943. integer height = 152
  944. string text = "查询"
  945. string normalpicname = "setting.bmp"
  946. integer picsize = 16
  947. toolbaralignment pic_align = alignattop!
  948. boolean border = false
  949. end type
  950. type cb_exit from w_publ_base`cb_exit within w_eb_cusamt
  951. integer x = 1211
  952. integer y = 4
  953. integer width = 142
  954. integer height = 164
  955. integer picsize = 16
  956. toolbaralignment pic_align = alignattop!
  957. boolean border = false
  958. end type
  959. type cb_reflash from uo_imflatbutton within w_eb_cusamt
  960. integer width = 151
  961. integer height = 164
  962. integer taborder = 50
  963. boolean bringtotop = true
  964. string text = "刷新"
  965. string normalpicname = "refresh.BMP"
  966. integer picsize = 16
  967. toolbaralignment pic_align = alignattop!
  968. boolean border = false
  969. end type
  970. event clicked;call super::clicked;dw_1.Retrieve(ddlb_scid.uo_scid)
  971. end event
  972. type cb_edit from uo_imflatbutton within w_eb_cusamt
  973. integer x = 155
  974. integer width = 151
  975. integer height = 164
  976. integer taborder = 60
  977. boolean bringtotop = true
  978. string text = "修改"
  979. string normalpicname = "OPEN.bmp"
  980. integer picsize = 16
  981. toolbaralignment pic_align = alignattop!
  982. boolean border = false
  983. end type
  984. event clicked;call super::clicked;String arg_msg
  985. IF dw_edit_mode THEN
  986. IF dw_1.AcceptText() <> 1 THEN RETURN
  987. IF wf_save(arg_msg) <> 1 THEN
  988. MessageBox('错误', arg_msg)
  989. RETURN
  990. END IF
  991. END IF
  992. dw_edit_mode = Not dw_edit_mode
  993. IF dw_edit_mode THEN
  994. cbx_1.Checked = True
  995. wf_selectall()
  996. ELSE
  997. cb_reflash.TriggerEvent(Clicked!)
  998. END IF
  999. wf_face()
  1000. end event
  1001. type cb_del from uo_imflatbutton within w_eb_cusamt
  1002. integer x = 311
  1003. integer width = 151
  1004. integer height = 164
  1005. integer taborder = 70
  1006. boolean bringtotop = true
  1007. string text = "删除"
  1008. string normalpicname = "delete.bmp"
  1009. integer picsize = 16
  1010. toolbaralignment pic_align = alignattop!
  1011. boolean border = false
  1012. end type
  1013. event clicked;call super::clicked;String ls_msg
  1014. IF dw_edit_mode THEN
  1015. dw_edit_mode = Not dw_edit_mode
  1016. cb_reflash.TriggerEvent(Clicked!)
  1017. wf_face()
  1018. ELSE
  1019. IF MessageBox('提问', '是否要删除选中的记录?', Question!, YesNo!) <> 1 THEN
  1020. RETURN
  1021. END IF
  1022. IF wf_del(ls_msg) <> 1 THEN
  1023. MessageBox('错误', ls_msg)
  1024. RETURN
  1025. END IF
  1026. cb_reflash.TriggerEvent(Clicked!)
  1027. END IF
  1028. end event
  1029. type cbx_1 from checkbox within w_eb_cusamt
  1030. integer x = 14
  1031. integer y = 200
  1032. integer width = 274
  1033. integer height = 56
  1034. boolean bringtotop = true
  1035. integer textsize = -9
  1036. integer weight = 400
  1037. fontcharset fontcharset = gb2312charset!
  1038. fontpitch fontpitch = variable!
  1039. string facename = "宋体"
  1040. long textcolor = 33554432
  1041. long backcolor = 67108864
  1042. string text = "全选"
  1043. end type
  1044. event clicked;wf_selectall()
  1045. end event
  1046. event constructor;this.backcolor = 14215660
  1047. end event
  1048. type cb_addmx from uo_imflatbutton within w_eb_cusamt
  1049. integer x = 466
  1050. integer width = 151
  1051. integer height = 164
  1052. integer taborder = 80
  1053. boolean bringtotop = true
  1054. string text = "增行"
  1055. string normalpicname = "new.bmp"
  1056. integer picsize = 16
  1057. toolbaralignment pic_align = alignattop!
  1058. boolean border = false
  1059. end type
  1060. event clicked;call super::clicked;IF Not dw_edit_mode THEN RETURN
  1061. long ll_row
  1062. ll_row = dw_1.ScrollToRow(dw_1.InsertRow(0))
  1063. dw_1.Object.scid[ll_row] = ddlb_scid.uo_scid
  1064. end event
  1065. type ddlb_scid from uo_ddlb_scid within w_eb_cusamt
  1066. integer x = 325
  1067. integer y = 188
  1068. integer width = 549
  1069. integer height = 620
  1070. integer taborder = 50
  1071. boolean bringtotop = true
  1072. end type
  1073. event constructor;Long ls_scid
  1074. Long cnt,cnt_user
  1075. String ls_scname
  1076. long ll_i
  1077. string ls_space
  1078. int li_spacenum
  1079. for ll_i =1 to upperbound(sys_user_scid)
  1080. ls_scid = sys_user_scid[ll_i]
  1081. SELECT scname
  1082. INTO :ls_scname
  1083. FROM u_scdef
  1084. Where scid = :ls_scid;
  1085. if sqlca.sqlcode <> 0 or isnull(ls_scname) then ls_scname = ''
  1086. li_spacenum = 50 - len(trim(ls_scname)) - 2 - len(string(ls_scid))
  1087. ls_space = fill(' ',li_spacenum)
  1088. THIS.AddItem (ls_scname+ls_space+'['+String(ls_scid)+']')
  1089. next
  1090. THIS.uo_scid = ls_scid
  1091. uo_scid_arr[1] = ls_scid
  1092. THIS.Text = ls_scname+ls_space+'['+String(ls_scid)+']'
  1093. end event
  1094. event selectionchanged;call super::selectionchanged;cb_reflash.triggerevent(clicked!)
  1095. end event
  1096. type cb_import from uo_imflatbutton within w_eb_cusamt
  1097. integer x = 622
  1098. integer width = 151
  1099. integer height = 164
  1100. integer taborder = 20
  1101. boolean bringtotop = true
  1102. string text = "导入"
  1103. string normalpicname = "imexport.BMP"
  1104. integer picsize = 16
  1105. toolbaralignment pic_align = alignattop!
  1106. boolean border = false
  1107. end type
  1108. event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  1109. String menustr
  1110. menustr = "Text=xml~tEvent=ue_xml_import"
  1111. menustr = menustr + "|" + "Text=xls~tEvent=ue_xls_import"
  1112. menustr = menustr + "|" + "Text=淘宝~tEvent=ue_taobao_import"
  1113. menustr = menustr + "|" + "Text=京东~tEvent=ue_jindong_import"
  1114. IF Len(Trim(menustr)) <> 0 THEN
  1115. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  1116. dmPopupMenu.mf_BuildMenu(This, menustr)
  1117. dmPopupMenu.mf_PopMenu()
  1118. Destroy dmPopupMenu
  1119. END IF
  1120. end event
  1121. type r_bar from rectangle within w_eb_cusamt
  1122. long linecolor = 16777215
  1123. integer linethickness = 4
  1124. long fillcolor = 1073741824
  1125. integer x = 1422
  1126. integer width = 146
  1127. integer height = 68
  1128. end type
  1129. event constructor;this.fillcolor = 14215660
  1130. this.linecolor = 14215660
  1131. this.x = -1
  1132. this.y = -1
  1133. this.height = ln_bar.beginy - 5
  1134. end event
  1135. type ln_bar from line within w_eb_cusamt
  1136. long linecolor = 268435456
  1137. integer linethickness = 4
  1138. integer beginy = 280
  1139. integer endx = 2007
  1140. integer endy = 280
  1141. end type
  1142. type ln_bar2 from line within w_eb_cusamt
  1143. long linecolor = 16777215
  1144. integer linethickness = 4
  1145. integer beginy = 284
  1146. integer endx = 2039
  1147. integer endy = 284
  1148. end type
  1149. type ln_1 from line within w_eb_cusamt
  1150. long linecolor = 268435456
  1151. integer linethickness = 4
  1152. integer beginy = 168
  1153. integer endx = 2007
  1154. integer endy = 168
  1155. end type
  1156. type ln_2 from line within w_eb_cusamt
  1157. long linecolor = 16777215
  1158. integer linethickness = 4
  1159. integer beginy = 172
  1160. integer endx = 2039
  1161. integer endy = 172
  1162. end type
  1163. type dw_1 from u_dw_rbtnfilter within w_eb_cusamt
  1164. integer y = 288
  1165. integer width = 2798
  1166. integer height = 1076
  1167. integer taborder = 50
  1168. string dataobject = "dw_eb_cusamt"
  1169. boolean hscrollbar = true
  1170. boolean vscrollbar = true
  1171. boolean hsplitscroll = true
  1172. boolean rbutton_filter_use = true
  1173. boolean rbutton_setposition_use = true
  1174. boolean titleclick_sort_use = true
  1175. end type
  1176. event clicked;call super::clicked;IF row > 0 THEN
  1177. dw_1.SetRow(row)
  1178. END IF
  1179. end event
  1180. event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0, False)
  1181. IF currentrow > 0 THEN
  1182. This.SelectRow(currentrow, True)
  1183. END IF
  1184. end event
  1185. event doubleclicked;call super::doubleclicked;IF Not dw_edit_mode THEN RETURN
  1186. IF dw_1.AcceptText() <> 1 THEN RETURN
  1187. String ls_name
  1188. ls_name = dwo.Name
  1189. IF ls_name = 'cuscode' THEN
  1190. Parent.TriggerEvent('ue_f9')
  1191. ELSEIF ls_name = 'reltaskcode' THEN
  1192. Parent.TriggerEvent('ue_f8')
  1193. END IF
  1194. end event
  1195. type cb_accept from uo_imflatbutton within w_eb_cusamt
  1196. integer x = 1056
  1197. integer width = 151
  1198. integer height = 164
  1199. integer taborder = 30
  1200. boolean bringtotop = true
  1201. string text = "接受"
  1202. string normalpicname = "ok.bmp"
  1203. integer picsize = 16
  1204. toolbaralignment pic_align = alignattop!
  1205. boolean border = false
  1206. end type
  1207. event clicked;call super::clicked;parent.triggerevent('ue_accept')
  1208. end event
  1209. type cb_match from uo_imflatbutton within w_eb_cusamt
  1210. integer x = 777
  1211. integer width = 274
  1212. integer height = 164
  1213. integer taborder = 30
  1214. boolean bringtotop = true
  1215. string text = "自动对单"
  1216. integer picsize = 16
  1217. toolbaralignment pic_align = alignattop!
  1218. boolean border = false
  1219. end type
  1220. event clicked;call super::clicked;parent.triggerevent('ue_match')
  1221. end event