首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

一张A4纸打印两张会计凭证水晶报表怎么设计

2012-01-09 
一张A4纸打印两张会计凭证水晶报表如何设计目前正在做会计凭证的录入,现在碰到一个打印的问题.要求:目前一

一张A4纸打印两张会计凭证水晶报表如何设计
目前正在做会计凭证的录入,现在碰到一个打印的问题.

要求:目前一般的会计凭证半张A4纸就够了,因此会计经常会在一张A4张上打印两张凭证.当然也有可能一张A4纸不够,可能要几页才能打印完.但为了将凭证便于存档.目前会计是这样要求的:每张会计凭证打印15条记录,不足部份补空行.一张A4纸打印两张凭证.当然有时候会连续打印预若干张凭证.

现在我将会计凭证的数据源写成了一个存储过程.一次可以处理多张凭证,并且在存储过程里面已经补空行.

问题:水晶报表如何将一张A4纸按上面的要求设计,就好像两个半张A4纸一样.

存储过程如下:
/*
PROC:SELECT_Voucher
USER:選擇傳票
PARA:@Fvoucherid   (傳票內碼)
CREATE   BY   :MARK
CREATE   DATE:2007/4/26
EXAM:SELECT_Voucher   '10,11,12 '
*/

ALTER   PROC   select_voucher(
                    @Fvoucherid   NVARCHAR(4000))
AS
    DECLARE
        @COUNT               INT,   --共有多少行  
        @AddRec             INT,   --需追加的空白行數  
        @AddSN               INT,   --追加行的序號  
        @fbrno   NVARCHAR(200),   --公司名
        @fdate   DATETIME,   --日期
        @fyear   INT,             --年度
        @fperiod   INT,         --期別
        @fgroupid   NVARCHAR(10)   ,--傳票字
        @fnumber   INT,                       --傳票號
        @fnumber2   NVARCHAR(50),   --傳票字號
        @fattachments   INT,             --附件張數
        @FPosted           NVARCHAR(50),
        @FPreparerID   NVARCHAR(50),
        @FCheckerID     NVARCHAR(50),
        @FPosterID       NVARCHAR(50),
        @FCashierID     NVARCHAR(50),
        @FHandler         NVARCHAR(50),
        @FvoucherID2   NVARCHAR(50),
        @id                     INT,
        @Row                   INT,   --每張傳票列印的行數  
        @RecCount         INT   --行數

    SET   @Row   =   15

    --將傳票內碼分離出來
    CREATE   TABLE   #temp   (
        fvoucherid   INT)

    IF   @Fvoucherid   <>   ' '
        BEGIN
            IF   ltrim(rtrim(@Fvoucherid))   <>   ' '
                BEGIN  
                    --如果只有一張傳票  
                    IF   len(@Fvoucherid)   >   0
                          AND   charindex( ', ',@Fvoucherid)   =   0
                        INSERT   INTO   #temp(fvoucherid)
                        VALUES           (Convert(INT,@Fvoucherid))



 




[解决办法]
1、右键单击“详细资料”节的灰色横条,选择“节专家”,进入“节专家”对话框;
2、在“公用”选项卡,选中“在后面页新建页”复选框;
3、单击后面的“x+2”按钮,进入“公式工作室 - 格式公式编辑器”对话框;
4、输入“RecordNumber mod 15 = 0”,并单击左上角的“保存并关闭”按钮。

[解决办法]
帮顶
[解决办法]
你需要一張紙打印兩頁原來一頁的記錄(就好像FinePrint)一樣,那麼你需要在節專家的設定裡,詳細資料節裡選多列格式化。我用的是繁體版,可能有些術語不一樣,但道理是相同的。
當您選取細目區段,並且已核取 [一般] 索引標籤中的 [設定多重資料行的格式] 方塊的,便會顯示出 [配置] 索引標籤。

使用 [配置] 索引標籤可將報表設定成多重資料行格式,也就是說,不必將資料從頁面上方一直印到底,而是設定多重資料行,讓資料以一個資料行接著一個資料行的方式列印,您也可以使資料橫向向下列印,在每一個資料行列印一個資料錄,然後在每一個資料行列印第二個資料錄,然後第三個,依此類推。這個對話方塊分成四個小方塊。

細目大小
這個方塊可用來指定一個細目的維度 (高度和寬度)。請決定每一個細目的寬度 (根據字元數目、字型大小等),然後將該值輸入 [寬度] 編輯方塊中。

再決定每一個細目的高度 (根據字元數目、字型大小等),然後將該值輸入 [高度] 編輯方塊中。

細目之間的間距
這個方塊可用來指定細目之間允許的空白區域 (間距、裝訂邊等)。水平 = 細目在頁面橫向之間的距離,垂直 = 細目在頁面上下之間的距離。

請決定所允許的間距,在 [水平] 編輯方塊中輸入水平間距,以在 [垂直] 編輯方塊中輸入垂直間距。

列印方向
在報表頁面中列印細目時,[列印方向] 方塊可讓您指定程式遵循的路徑,選項如下:

橫向
以橫向列印資料行的細目,先是第一個資料行的細目、下一個資料行的細目、再下一個,依此類推。然後,當所有的資料行都有細目時,程式會向下移動頁面,並列印第一個資料行的第二個細目,然後第二個,依此類推。

縱向
從上到下列印第一個資料行的細目,然後第二個資料行,依此類推。

設定多重資料行群組的格式
如果希望程式使用指定給選取區段的 [寬度]、[細目之間的間距] 及 [列印方向],設定多重資料行群組的格式,請選取這個核取方塊。

热点排行