一张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))