2008-03-26 作者: 来源:caxa
CAXA图文档作为图档管理系统,侧重于设计及相关环节的数据管理。但企业的数据管理不是孤立的,它需要与ERP等系统进行交互。在CAXA图文档一方,报表工具是与其它系统进行信息交互的途径之一。
CAXA图文档中提供的报表类型有:标准明细表、产品明细表、部件明细表、自制件明细表、标准件明细表、企标件明细表、图样目录明细表等,其中标准明细表报表格式已固定,其他明细表报表格式可由用户定制。
标准明细表统计的零部件范围包括产品总装装配件和组成产品的所有零部件,包含自制件、标准件、企标件、外购件;
产品明细表统计的零部件范围包括组成产品的所有零部件,包含自制件、标准件、企标件、外购件;
部件明细表统计的范围包括组成部件的所有下一级节点的零部件;
自制件明细表统计的零部件范围包括组成产品的所有自制件;
外购件明细表统计的零部件范围包括组成产品的所有外购件;
标准件明细表统计的零部件范围包括组成产品的所有标准件;
分类报表可以按照用户给定条件输出符合条件的零部件;
图样目录明细表统计的零部件范围包括组成产品的并有图纸的自制件,并且在图样目录明细表中可以输出图纸的图幅信息。
报表内容的提取是在产品结构上自动进行的。
系统同时提供把报表输出到外部文件的功能,文件的格式可以是XML文件和电子表格格式的文件。这些文件作为中间文件,可以提供给ERP等系统使用。
在安装目录的reports\xml目录下编辑coldefine.xml文件,把要在报表中输出的属性名称填在<col>和</col>中间,必须为零部件的属性中定义的属性名称,“总数量”和“所属装配”是两个非属性名称的两个特殊字段。
例:
<?xml version="1.0" encoding="gb2312"?>
<cols>
<col>序号</col>
<col>代号</col>
<col>名称</col>
<col>材料</col>
<col>数量</col>
<col>规格</col>
<col>总数量</col>
<col>所属装配</col>
</cols>
在安装目录的reports目录下编辑templet.xsl文件可以设置报表结果的输出显示格式,在系统中打印报表时会在reports目录下生成bom.xml文件,bom.xml由templet.xsl文件来确定显示的样式。
例:
<?xml version="1.0" encoding="GB2312"?>
<HTML xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<HEAD>
<TITLE>部件明细表</TITLE>
</HEAD ><BODY>
<xsl:for-each select="report">
<P/>
<TABLE border="1" cellspacing="0">
<CAPTION style="font-size: 150%; font-weight: bold">
部件明细表
</CAPTION>
<TR>
<TH>代号</TH>
<TH>名称</TH>
<TH>规格</TH>
<TH>数量</TH>
<TH>总数量</TH>
<TH>所属装配</TH>
</TR>
<xsl:for-each select="row">
<TR>
<TD><xsl:value-of select="代号"/></TD>
<TD><xsl:value-of select="名称"/></TD>
<TD><xsl:value-of select="规格"/></TD>
<TD><xsl:value-of select="数量"/></TD>
<TD><xsl:value-of select="总数量"/></TD>
<TD><xsl:value-of select="所属装配"/></TD>
</TR>
</xsl:for-each>
</TABLE>
</xsl:for-each>
</BODY>
</HTML>
定义Excel报表模板文件,参考安装目录下reports\xls目录下的“常规汇总模板.xls”和“常规汇总模板.xml”,在模板文件中,定义好报表的各个列;在对应的xml文件中定义输出格式。定义完成后的模板文件和xml文件保存到客户端安装目录下的report\xls目录下。
1、参考“常规汇总模板.xls”模板文件,定义报表模板。
图2-1常规汇总模板文件
2、参考“常规汇总模板.xml”,定义Excel模板文件的输出内容
模板对应的xml输出文件格式,如下所示(包含说明文字):
<?xml version="1.0" encoding="gb2312"?>
<reportdefine>
/*从第4行,25行后,报表分页,输出到Excel中下一个Sheet*/
<cols row="25" firstrow = "4">
/*各属性在Excel中的列位置*/
<col index="A" propname = "Y">序号</col>
<col index="B" propname = "Y">代号</col>
<col index="C" propname = "Y">名称</col>
<col index="E" propname = "Y">所属装配</col>
<col index="F" propname = "Y">数量</col>
<col index="G" propname = "Y">总数量</col>
<col index="D" propname = "Y">材料</col>
</cols>
<pagecounts>
<totalpage>E29:E29</totalpage> /*总页数的输出位置*/
<curpage>F29:F29</curpage> /*当前页数的输出位置*/
</pagecounts>
<props>
/*用户可在此自定义,加入需要输出的属性及位置(比如:名称、创建人等)*/
<prop name="代号">D2:D2</prop>
<prop name="名称">E2:E2</prop>
</props>
</reportdefine>