Foxtable(狐表)用户栏目专家坐堂 → [讨论]专业报表打印设置有关问题


  共有22769人关注过本帖树形打印复制链接

主题:[讨论]专业报表打印设置有关问题

帅哥哟,离线,有人找我吗?
blny
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:25 积分:259 威望:0 精华:0 注册:2008/9/4 8:25:00
[讨论]专业报表打印设置有关问题  发帖心情 Post By:2008/9/28 10:04:00 [只看该作者]

1.专来报表打印设置不选自定纸张...请大家帮手测试一下
2.专业报表如何将表中某列的数值如:10000转换为¥10,000.00格式及“壹万元整”大写格式
         


 回到顶部
帅哥哟,离线,有人找我吗?
贺老六
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/9/28 10:10:00 [只看该作者]

1、我测试可以,也许你的打印机不支持自定义纸张吧:
 

Dim doc As New PrintDoc() '定义一个报表
Dim
rt As prt.RenderText '定义一个文本对象
doc.PageSetting.Width =
100 '纸张宽度为100毫米
doc.PageSetting.Height =
120 '纸张高度为120毫米
doc.Preview()
'预览



2、有专门的转换函数

CUMoney

将阿拉伯数字转换为中文货币格式。

语法

CUMoney(Value)

Value:要转换的阿拉伯数字。

例如:

Dim Currency as String
Currency = CUMoney(
12345.12
)
Output.Show(Currency)

输出为:壹万贰千叁佰肆拾伍圆壹角贰分


 回到顶部
帅哥哟,离线,有人找我吗?
blny
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:25 积分:259 威望:0 精华:0 注册:2008/9/4 8:25:00
  发帖心情 Post By:2008/9/28 10:46:00 [只看该作者]

Dim doc As New PrintDoc '定义一个报表
Dim rx As prt.RenderText '定义一个文本对象
Dim rm As prt.RenderImage '定义一个图形队形
doc.PageSetting.Width = 195 '纸张宽度为195毫米
doc.PageSetting.Height = 102 '纸张高度为102毫米
Dim x As Integer = 0 '定义水平偏移参数
Dim y As Integer = 0 '定义垂直偏移参数
Dim CurRow As Row = Tables("农业").Current

rx = new prt.RenderText
rx.Text = CurRow("年度")
rx.Style.FontSize = 16 '字体大小为16磅
rx.x = 38+ x
rx.y = 20+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("月份")
rx.x = 60+ x
rx.y = 20+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("日")
rx.x = 70+ x
rx.y = 20+ y
doc.body.Children.Add(rx)


rx = new prt.RenderText
rx.Text = "XXXXX"  '拨款单位
rx.x = 46+ x
rx.y = 26+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = "123456"
rx.x = 46+ x
rx.y = 32+ y
doc.body.Children.Add(rx)


rx = new prt.RenderText
rx.Text = "XXXXXXXXXXXXXXX"
rx.x = 46+ x
rx.y = 40+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("单位_名称")
rx.x = 125+ x
rx.y = 26+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("单位_账号")
rx.x = 125+ x
rx.y = 32+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("单位_开户行")
rx.x = 125+ x
rx.y = 40+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("摘要")
rx.x = 32+ x
rx.y = 65+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("支出_小计")
rx.x = 125+ x
rx.y = 61+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("大写金额")
rx.x = 45+ x
rx.y = 61+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("科目编码")
rx.x = 125+ x
rx.y = 65+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("科目名称")
rx.x = 145+ x
rx.y = 65+ y
doc.body.Children.Add(rx)

Dim doc As New PrintDoc '定义一个报表
Dim rx As prt.RenderText '定义一个文本对象
Dim rm As prt.RenderImage '定义一个图形队形
doc.PageSetting.Width = 195 '纸张宽度为195毫米
doc.PageSetting.Height = 102 '纸张高度为102毫米
Dim x As Integer = 0 '定义水平偏移参数
Dim y As Integer = 0 '定义垂直偏移参数
Dim CurRow As Row = Tables("农业").Current

rx = new prt.RenderText
rx.Text = CurRow("年度")
rx.Style.FontSize = 16 '字体大小为16磅
rx.x = 38+ x
rx.y = 20+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("月份")
rx.x = 60+ x
rx.y = 20+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("日")
rx.x = 70+ x
rx.y = 20+ y
doc.body.Children.Add(rx)


rx = new prt.RenderText
rx.Text = "XXXXX"  '拨款单位
rx.x = 46+ x
rx.y = 26+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = "123456"
rx.x = 46+ x
rx.y = 32+ y
doc.body.Children.Add(rx)


rx = new prt.RenderText
rx.Text = "XXXXXXXXXXXXXXX"
rx.x = 46+ x
rx.y = 40+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("单位_名称")
rx.x = 125+ x
rx.y = 26+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("单位_账号")
rx.x = 125+ x
rx.y = 32+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("单位_开户行")
rx.x = 125+ x
rx.y = 40+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("摘要")
rx.x = 32+ x
rx.y = 65+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("支出_小计")
rx.x = 125+ x
rx.y = 61+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("大写金额")
rx.x = 45+ x
rx.y = 61+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("科目编码")
rx.x = 125+ x
rx.y = 65+ y
doc.body.Children.Add(rx)

rx = new prt.RenderText
rx.Text = CurRow("科目名称")
rx.x = 145+ x
rx.y = 65+ y
doc.body.Children.Add(rx)

doc.Preview() '预览



自定义纸张。。我用易表设置的套打单据一直在用 
现想将易表的改为狐表  不想自定义纸张不能用 打印机是EPSON LQ635K
一选我原自定义纸张格式就变成其他格式纸张

 

大写转换
 

Dim Currency as String

Dim dx as String=Tables("农业").Current("支出_小计")  ’260,111.00

Currency = CUMoney(dx)

e.DataRow("大写金额") = currency


可在命令窗口正常反映
 但不知怎么在另一列"大写金额"显示出 不会弄事件请解说一下


 


 回到顶部
帅哥哟,离线,有人找我吗?
blny
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:25 积分:259 威望:0 精华:0 注册:2008/9/4 8:25:00
  发帖心情 Post By:2008/9/28 10:52:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:一先自定义z纸张时出错图.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
贺老六
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/9/28 10:56:00 [只看该作者]

如果是为了打印的需要,根本没需要增加一个大写金额列,只需在打印报表的时候:

rx.Text = CUMoney(CurRow("金额"))

如果一定要这么一列,请参考帮助文件“开发指南 - foxtable编程 - 计算代码”


关于自定义纸张,尝试一下:

Dim doc As New PrintDoc() '定义一个报表
Dim rt As prt.RenderText '定义一个文本对象
doc.Pagesetting.Paperkind = 0
doc.PageSetting.Width = 100 '纸张宽度为100毫米
doc.PageSetting.Height = 120 '纸张高度为120毫米
doc.Preview() '预览

对于关键的问题,应该先单独测试,然后再整体编写代码。

[此贴子已经被作者于2008-9-28 10:56:17编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
blny
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:25 积分:259 威望:0 精华:0 注册:2008/9/4 8:25:00
  发帖心情 Post By:2008/9/28 11:06:00 [只看该作者]

另一种情况是:
图片点击可在新窗口打开查看此主题相关图片如下:自定义1.jpg
图片点击可在新窗口打开查看


选择"申请书"自定义格式纸张  按确定后自动变成"Letter"格式的纸张

图片点击可在新窗口打开查看此主题相关图片如下:自定义2.jpg
图片点击可在新窗口打开查看

 回到顶部