多用户环境下发票的打印问题

老汉 2004-09-10 09:52:30

偶在设计中使用了水晶报表7.0控件来打印发票。在打印过程中,将发票数据写入到打印临时表,然后调用设计好的报表文件实现发票的打印。

以前是单用户,所以没有什么问题。但是现在要改成网络版,这样的话就涉及到一个问题:多个用户同时向打印临时表中送入数据的话,发票打印会是什么样?

偶看了一些别的处理办法,他们采用窗体打印的方法来解决这个问题。但是在这个系统中客户端所使用的打印机有可能不一样,所以在使用窗体打印的方法来实现发票套打时,就可能出现错位现象。最好的方法还是在报表文件中预先设计好发票格式,然后打印。

请大家帮忙,提些建议:多用户环境下打印,后台使用一个打印临时表还是各个操作员分别使用自己的打印临时表;如果各个操作员分别使用自己的打印临时表的话,报表文件如何设计?报表文件与打印临时表如何挂钩?

谢谢了,先。
...全文
379 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvwaike 2004-10-22
  • 打赏
  • 举报
回复
up
老汉 2004-09-13
  • 打赏
  • 举报
回复
周末回去研究了半天帮助,终于找到了解决问题的方法:

'设置RPT控件
With rptPrintInvoice
.Connect = strRptCn
.WindowBorderStyle = crptFixedDouble
.WindowState = crptMaximized
.WindowControlBox = True
.WindowParentHandle = frmMain.hwnd
.Destination = crptToPrinter '直接打印到打印机

'Add,cobra,2004-09-13:增加操作员的过滤条件,只打印该操作员的记录数
.SelectionFormula = "{Tbds_PrintInvoiceTmp.OPRCODE}='" & OprCode & "'"

.ReportFileName = strRptPath & "\rptPrintInvoice.rpt"

.Action = 1
End With

在其中使用了.SelectionFormula属性。在每次打印前,只需要清空oprcode对应的记录就可以了。偶测试了一下,没什么问题。

memo:感谢 babyt(阿泰) 的BLOG,偶收藏研究。
老汉 2004-09-13
  • 打赏
  • 举报
回复
偶的程序中不使用水晶报表9.2,我们使用的还是4.6+7.0。
其中,偶要解决的发票打印问题中,发票文件所对应的报表采用7.0制作。

阿泰 2004-09-11
  • 打赏
  • 举报
回复
不使用临时表.


既然你能把数据集取出来放到数据库中,那么为什么不直接放给水晶报表呢?
如何使用水晶报表进行无数据源看来大家都比较关心,我来写个教程好了.
呵呵,最近几天关注一下

blog.csdn.net/babyt
LichKingSZ 2004-09-10
  • 打赏
  • 举报
回复
水晶报表也可以动态指定数据源,你可以在报表版的FAQ里查查
popraincn 2004-09-10
  • 打赏
  • 举报
回复
呵呵,,,我来说几句不知可行。。。。

你可以在临时表里加一Host_id字段。其代表各客户端主机ID,这样在打印时就可以用Host_id区别各客户端的数据了。。


我在做库存管理时是这样用的

------------------------------------
CSDN论坛新助手 CSDN's forum Explorer》
老汉 2004-09-10
  • 打赏
  • 举报
回复
偶使用的是水晶报表,在每个客户端都注册的。

但是,水晶报表在设计的时候好像就要确定其数据源的。偶对这个报表设计器使用也不多。
LichKingSZ 2004-09-10
  • 打赏
  • 举报
回复
你的报表组件(你自己写的)注册成服务在服务器上的?如果不是本地的话的确有点麻烦..
老汉 2004-09-10
  • 打赏
  • 举报
回复
谢谢回复先。

如果在本地有各自的打印临时表的话,报表文件怎么动态的和这些打印临时表相关联呢?因为在本地的一台机子上,不同的时间段是不不同的操作员在登录系统。
LichKingSZ 2004-09-10
  • 打赏
  • 举报
回复
感觉在本地有各自的打印临时表比较简单,也不会对数据库服务器造成影响.当然..打印临时数据库不一定是ACCESS等,也可以用TXT\EXCEL\XML来代替,这样比较方便.
老汉 2004-09-10
  • 打赏
  • 举报
回复
报表版的FAQ是空呢。

偶把整个版面都翻了一下,找出些crp9的代码来。在7.0里面用不了呢。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧