因長度受限,代碼部分省略。
long li_row,li_selectedrow,li_i
string ls_exepath
datetime ldt_sfrq_start,ldt_sfrq_end,ldt_bbrq
ldt_sfrq_start = datetime(Date(left(em_sfrq_start.text,10)),Time(right(em_sfrq_start.text,8)))
ldt_sfrq_end = datetime(Date(left(em_sfrq_end.text,10)),Time(right(em_sfrq_end.text,8)))
ldt_bbrq = gf_getdatetime()
setpointer(hourglass!)
ls_exepath = GetCurrentDirectory()
setpointer(hourglass!)
dw_1.settransobject(sqlca)
if dw_1.rowcount() < 1 then
messagebox('提示','沒有收費資料! ')
setpointer(arrow!)
return
end if
long li_fileno
li_fileno = fileopen('D:\稅務資料XML\NsrXsktFpsjSbb.xml',LineMode!, Write!, LockWrite!, Replace!)
if li_fileno = -1 then
messagebox('提示','創建檔案NsrXsktFpsjSbb.xml失敗,請檢查是否其他程式正在使用該檔案。')
return
end if
FileWrite(li_fileno , '<?xml version="1.0" encoding="GB2312"?>')
FileWrite(li_fileno , '<SCHEMA NAME="NsrXsktFpsjSbb" CNNAME="納稅人銷售開填發票資料申報表" VERSION="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="model.xsd">')
FileWrite(li_fileno , '<HEAD>')
FileWrite(li_fileno , '<NSRSBH>530924748298822</NSRSBH>')
FileWrite(li_fileno , '<SSSQ_Q>' + string(ldt_sfrq_start,'yyyy-mm-dd') + '</SSSQ_Q>')
FileWrite(li_fileno , '<SSSQ_Z>' + string(ldt_sfrq_end,'yyyy-mm-dd') + '</SSSQ_Z>')
FileWrite(li_fileno , '<TBRQ>' + string(ldt_bbrq,'yyyy-mm-dd') + '</TBRQ>')
FileWrite(li_fileno , '<NSRMC>供水有限責任公司</NSRMC>')
FileWrite(li_fileno , '<DZ></DZ>')
FileWrite(li_fileno , '<DHHM></DHHM>')
FileWrite(li_fileno , '<JBR>羅桂芹</JBR>')
FileWrite(li_fileno , '<BZ></BZ>')
FileWrite(li_fileno , '</HEAD>')
FileWrite(li_fileno , '<HEAD_AFFIX>')
FileWrite(li_fileno , '<HYFL_DM>4610</HYFL_DM>')
FileWrite(li_fileno , '<HYFL_MC>自來水的生產和供應</HYFL_MC>')
FileWrite(li_fileno , '</HEAD_AFFIX>')
FileWrite(li_fileno , '<BODY>')
string yhh,updatetime,cbkh,qbbh,qblc,yyhh,pym,yhm,yhdz,lxdh,qjmc,pjh,fpdm,sfry,fpzt
string sczds,bczds,sscbb,cbbmc,cbxh,ls_id
string ls_line
long li_id
datetime sfrq
updatetime = string(gf_getdatetime())
for li_row = 1 to dw_1.rowcount()
yhh = dw_1.getitemstring(li_row,'yhh')
.......
fpzt = dw_1.getitemstring(li_row,'fpzt') //發票狀態[10:正常,20:作廢]
ls_line = '<FP ID = "' + string(li_row) + '" >'//發票資訊,根據匯出總份數1至發票n
FileWrite(li_fileno,ls_line)
ls_line = '<FPZL_DM>' + '26149' + '</FPZL_DM>'
FileWrite(li_fileno,ls_line)
ls_line = '<XXSL>' + '6' + '</XXSL>'
FileWrite(li_fileno,ls_line)
ls_line = '<GMBZ>' + 'y' + '</GMBZ>'
FileWrite(li_fileno,ls_line)
ls_line = '<DKBZ>' + '0' + '</DKBZ>'
FileWrite(li_fileno,ls_line)
ls_line = '<NCPBZ>' + 'n' + '</NCPBZ>'
FileWrite(li_fileno,ls_line)
ls_line = '<FP_DM>' + fpdm + '</FP_DM>'
FileWrite(li_fileno,ls_line)
ls_line = '<FPHM>' + pjh + '</FPHM>'
FileWrite(li_fileno,ls_line)
ls_line = '<KPRQ>' + string(datetime(sfrq),'yyyy-mm-dd hh:mm:ss') + '</KPRQ>'
FileWrite(li_fileno,ls_line)
ls_line = '<HYFL>' + '自來水的生產和供應' + '</HYFL>'
FileWrite(li_fileno,ls_line)
ls_line = '<FKMC>' + yhm + '</FKMC>'
FileWrite(li_fileno,ls_line)
ls_line = '<FKSBH>' + '</FKSBH>'
FileWrite(li_fileno,ls_line)
dw_2.settransobject(sqlca)
dw_2.retrieve(yhh,pjh)
for li_i = 1 to dw_2.rowcount()
ldec_id = dw_2.getitemnumber(li_i,'compute_1')
....// 中間代碼為li_i = 1 到li_i = 6
end for
FileWrite(li_fileno,'<FPMX COUNT="6">')//專案最大為6行
FileWrite(li_fileno,'<mx1>')
ls_line = '<HLMC>' + '自來水的生產和供應' + '</HLMC>'
FileWrite(li_fileno,ls_line)
ls_line = '<GG>' + '' + '</GG>'
FileWrite(li_fileno,ls_line)
ls_line = '<DW>' + '立方' + '</DW>'
FileWrite(li_fileno,ls_line)
ls_line = '<DJ>' + string(ldec_sj1) + '</DJ>'
FileWrite(li_fileno,ls_line)
ls_line = '<SL>' + string(ldec_sl1) + '</SL>'
FileWrite(li_fileno,ls_line)
ls_line = '<JE>' + string(ldec_yssf1) + '</JE>'
FileWrite(li_fileno,ls_line)
ls_line = '<ZDY>' + '</ZDY>'
FileWrite(li_fileno,ls_line)
FileWrite(li_fileno,'</mx1>')
FileWrite(li_fileno,'<mx2>')
ls_line = '<HLMC>' + '自來水的生產和供應' + '</HLMC>'
FileWrite(li_fileno,ls_line)
ls_line = '<GG>' + '' + '</GG>'
FileWrite(li_fileno,ls_line)
ls_line = '<DW>' + '立方' + '</DW>'
FileWrite(li_fileno,ls_line)
ls_line = '<DJ>' + string(ldec_sj2) + '</DJ>'
FileWrite(li_fileno,ls_line)
ls_line = '<SL>' + string(ldec_sl2) + '</SL>'
FileWrite(li_fileno,ls_line)
ls_line = '<JE>' + string(ldec_yssf2) + '</JE>'
FileWrite(li_fileno,ls_line)
ls_line = '<ZDY>' + '</ZDY>'
FileWrite(li_fileno,ls_line)
FileWrite(li_fileno,'</mx2>')
.......//到mx6
FileWrite(li_fileno,'</FPMX>')
ls_line = '<HJDX>' + gf_jezh(yssf) + '</HJDX>'
FileWrite(li_fileno,ls_line)
ls_line = '<HJXX>' + string(yssf) + '</HJXX>'
FileWrite(li_fileno,ls_line)
ls_line = '<BZ>' + '</BZ>'
FileWrite(li_fileno,ls_line)
ls_line = '<WTSKMC>' + '</WTSKMC>'
FileWrite(li_fileno,ls_line)
ls_line = '<WTSKSBH>' + '</WTSKSBH>'
FileWrite(li_fileno,ls_line)
ls_line = '<NSRMC>' + '供水有限責任公司' + '</NSRMC>'
FileWrite(li_fileno,ls_line)
ls_line = '<NSRSBH>' + '530924748298822' + '</NSRSBH>'
FileWrite(li_fileno,ls_line)
ls_line = '<KPR_MC>' + sfry + '</KPR_MC>'
FileWrite(li_fileno,ls_line)
ls_line = '<SKZJLB>' + '</SKZJLB>'
FileWrite(li_fileno,ls_line)
ls_line = '<NSR_SWJG_DM>' + '15309240000' + '</NSR_SWJG_DM>'/
FileWrite(li_fileno,ls_line)
ls_line = '<FPZT>' + fpzt + '</FPZT>'
FileWrite(li_fileno,ls_line)
ls_line = '<KJLX>' + '2' + '</KJLX>'
FileWrite(li_fileno,ls_line)
FileWrite(li_fileno , '</FP>')
end for
FileWrite(li_fileno , '</BODY>')
FileWrite(li_fileno , '<BODY_AFFIX>')
FileWrite(li_fileno , '<SBFPZFS>' + string(dw_1.rowcount()) + '</SBFPZFS>')
FileWrite(li_fileno , '<SBFPZJE>' + string(hjqf) + '</SBFPZJE>')
FileWrite(li_fileno , '</BODY_AFFIX>')
FileWrite(li_fileno , '</SCHEMA>')
fileclose(li_fileno)
setpointer(arrow!)
//生成新的XML檔案
if CopyFileA('D:\稅務資料XML\NsrXsktFpsjSbb.xml','D:\稅務資料XML\NsrXsktFpsjSbb_' + string(ldt_sfrq_start,'yyyy-mm-dd') +'_' + string(ldt_sfrq_end,'yyyy-mm-dd') + '_'+'530924748298822'+'_'+'V10'+'.xml',false) = false then
messagebox('提示','生成NsrXsktFpsjSbb.xml檔案時出錯,請檢查data\NsrXsktFpsjSbb.xml是否在使用中。 ')
return -1
end if
messagebox('提示','已成功生成收費XML檔案。 ')
uj5u.com熱心網友回復:
詳細資訊可以Q聊uj5u.com熱心網友回復:
為什么不直接用pbdom物件呢?uj5u.com熱心網友回復:
pbdom 用的少,不是很熟悉了。uj5u.com熱心網友回復:
不用PDOM用XMLDOM也可以呀,自己一行行寫檔案這個辦法也太笨了吧uj5u.com熱心網友回復:
生成的話這個是很最靈活的。
非行列規律的xml資料視窗saveas也不如這個直接寫。
uj5u.com熱心網友回復:
不錯,有時間學習一下。uj5u.com熱心網友回復:
想說明啥?轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/78023.html
標籤:Web 應用
