分享

自制程序打印往来账目

 guanfurong 2009-09-24
自制程序打印往来账目

 

 往来账手工账簿是企业必需的,对于往来账特别多的企业,逐笔登记手工账簿是一件特别费时费力的工作。为了打印的账簿更准确、整洁、标准,笔者根据自己多年的计算机与财务工作经验,特将PB与用友财务软件相结合,就打印往来账簿的一些心得与大家分享。
  首先在用友软件将往来科目账的数据导出为DBF数据文件。然后在ODBC中通过如下代码将DBF数据文件进行连接。最后在PB环境中,对DBF文件建立数据窗口。
  SQLCA.DBMS = "ODBC"
  SQLCA.AutoCommit = False
  SQLCA.DBParm = "ConnectString='DSN=wanglai;UID=;PWD='"
  connect using sqlca;
  在用友财务软件中导出的数据包括往来账中总账及明细科目账中的所有数据,而打印到账簿只打印明细科目数据,故对此数据要按明细科目代码进行筛选,在数据窗口中的doubleclicked事件的代码如下:
  string ls_id
  ll_insertrow=0
  if ll_row〈〉0 then
  dw_1.selectrow(0,false)
  dw_1.selectrow(ll_row,true)
  dw_1.scrolltorow(ll_row)
  ls_id=trim(dw_1.getitemstring( ll_row,'科目编码'))
  dw_1.setfilter('科目编码="'+ls_id+'"')
  dw_1.filter()
  end if
  手工账簿的格式是有统一标准的,所以适应此格式非常重要,况且对于账簿打印的格式及距离有着非常精确的设置,用文件paperset.ini对账簿的纸张大小、边距、行高、开始行数等通过下列一系列代码进行格式设置。
  dw_1.Modify("DataWindow.Trailer.1.Height="+string(ll_tzkd))
  dw_1.modify("datawindow.print.preview.rulers=yes")
  dw_1.modify("datawindow.print.orientation=1")
  dw_1.modify("datawindow.print.orientation=2")
  dw_1.modify("datawindow.print.Margin.Left=10")

打印界面的最终效果
  不能直接使用“dw_1.printer()”进行打印,因往来账簿每一页有固定的行数,并且正反两面的账簿格式是不同的,所以系统中使用函数“paperset()”对正反两面账簿的打印格式及字体进行分别设置。
  通过此设计思路,在其他任何一款财务软件上都可实现往来账簿的计算机打印功能。
  以上代码可以在http://www./bzsoft中下载。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多