百科问答

百科问答 国内资讯 公司资讯 政策法规 培训资料 产品下载 常见问题

T6单据新打印数据顺序错乱

发布时间:2026-8-25 

特价活动:>>>> 用友U8、T6、T+、T3软件产品4折优惠,畅捷通T+cloud、好会计、好业财、好生意云产品8折优惠,另有话费赠送。

 

【问题现象】

业务单据使用新打印,表体存货顺序错乱,见下图:



【问题分析】

软件前台没有新打印顺序设置功能节点,一般新打印顺序是按照录入顺序,不会错乱,考虑是存储过程异常导致的。


【解决方案】

备份好账套数据,使用事件跟踪器查询正常账套在新打印预览时的存储过程,在查询分析器中针对问题账套执行即可。以下以销售出库单新打印表体顺序错乱为例:

1.备份好账套数据,进入软件,打开销售出库单,点击打印-新设计,将新打印模板打开,使用事件跟踪器查询正常账套在打开新打印模板时的存储过程:

2. 进入查询分析器执行查看存储过程的命令:sp_helptext newprint_SaleOutVouch_body

3.在查询分析器中针对问题账套执行以下语句:

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_NULLS ON

GO

alter PROCEDURE [dbo].[NewPrint_SaleOutVouch_Body]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from KCSaleOutB where id='''+@parm+'''' +'order by autoid')

--select * from KCSaleOutB where id=@parm order by AutoID

end

GO

SET QUOTED_IDENTIFIER OFF

GO

SET ANSI_NULLS ON

GO


PS:语句中红色字体是需要自己在执行语句时加入的,“order by autoid”的意思是按照录入顺序自动排序,也可以根据自己的个性化要求进行排序,比如根据存货编码排序加“order by cInvCode”。


附件:以下附各单据的存储过程

模块

单据

存储过程

采购

采购请购单

CREATE PROCEDURE [dbo].[NewPrint_PU_AppVouch_title]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from pu_AppHead with(nolock) where id='''+@parm+'''')

--select * from pu_AppHead where id=@parm


end

采购订单

采购订单存储过程

--采购订单

CREATE PROCEDURE [dbo].[NewPrint_PurOrder_body]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+',ginvpicture from zpurpotail with(nolock)

left join (select cinvcode as piccode,ginvpicture from InventoryPicture where cpictype is not null) as A on A.piccode=zpurpotail.cInvCode where poid='''+@parm+'''')

--SELECT * from zpurpotail where poid=@parm


end

采购到货单

采购到货单存储过程

CREATE PROCEDURE [dbo].[NewPrint_PU_ArrivalVouch_title]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from pu_ArrHead with(nolock) where id='''+@parm+'''')

--select * from pu_ArrHead where id=@parm


end


采购入库单

采购入库单存储过程

--采购入库单

CREATE PROCEDURE [dbo].[NewPrint_VoucherRD_Body]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+',ginvpicture from zpurRkdTail with(nolock)

left join (select cinvcode as gpiccode,ginvpicture from InventoryPicture where cpictype is not null) A on A.gpiccode=zpurRkdTail.cinvcode where id='''+@parm+'''' )


--SELECT * from zpurRkdTail where id=@parm

end


专用采购发票

CREATE PROCEDURE [dbo].[NewPrint_zhpurBillVouch_title]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from zhpurBillHead with(nolock) where pbvid='''+@parm+'''' )

--select * from zhpurBillHead where pbvid=@parm


end

红字专用采购发票

CREATE PROCEDURE [dbo].[NewPrint_zhpurBillVouch_title]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from zhpurBillHead with(nolock) where pbvid='''+@parm+'''' )

--select * from zhpurBillHead where pbvid=@parm


end

普通采购发票

CREATE PROCEDURE [dbo].[NewPrint_PpurBillVouch_title]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from PpurBillHead with(nolock) where pbvid='''+@parm+'''')

--select * from PpurBillHead where pbvid=@parm


end

红字普通采购发票

CREATE PROCEDURE [dbo].[NewPrint_PpurBillVouch_title]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from PpurBillHead with(nolock) where pbvid='''+@parm+'''')

--select * from PpurBillHead where pbvid=@parm


end

采购普通运费发票

CREATE PROCEDURE [dbo].[NewPrint_YpurBillVouch_title]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from YpurBillHead with(nolock) where pbvid='''+@parm+'''' )

--select * from YpurBillHead where pbvid=@parm


end

采购专用运费发票


Create PROCEDURE [dbo].[NewPrint_Z_YPurBillVouch_title]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from zypurBillhead with(nolock) where pbvid='''+@parm+'''' )



end

红字采购普通运费发票

CREATE PROCEDURE [dbo].[NewPrint_YpurBillVouch_title]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from YpurBillHead with(nolock) where pbvid='''+@parm+'''' )

--select * from YpurBillHead where pbvid=@parm


end

红字采购专用运费发票


Create PROCEDURE [dbo].[NewPrint_Z_YPurBillVouch_title]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from zypurBillhead with(nolock) where pbvid='''+@parm+'''' )



end

采购检验单

采购检验单存储过程

CREATE PROCEDURE [dbo].[NewPrint_QM_NCV10Vouch_title]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from QM_NCV10_H with(nolock) where id='''+@parm+'''')

--select * from QM_NCV10_H where id=@parm


end

销售

销售报价单

销售报价单

CREATE PROCEDURE [dbo].[NewPrint_SA_QuoVouch_title]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from SA_QuoHead with(nolock) where id='''+@parm+'''' )

--select * from SA_QuoHead where id=@parm


end

样品接单管理

样品接单管理

CREATE PROCEDURE [dbo].[NewPrint_SA_ManageSampleVouch_body]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from SA_ManageSample_V with(nolock) where iautoid='''+@parm+'''' )

--SELECT * from SA_ManageSample_V where iautoid=@parm


end

销售订单

销售订单存储过程

CREATE PROCEDURE [dbo].[NewPrint_SaleOrder_Title]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from SaleOrderQ with(nolock) where id='''+@parm+'''' )

--select * from SaleOrderQ where id=convert(int,@parm)

end

发货单

发货单存储过程

CREATE PROCEDURE [dbo].[NewPrint_Dispvch_Title]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from Sales_FHD_T with(nolock) where DLID='''+@parm+'''')

--select * from Sales_FHD_T where DLID=@parm

end


退货单

退货单存储过程

CREATE PROCEDURE [dbo].[newprint_ReDispatchList_title]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from Sales_FHD_T with(nolock) where dlid='''+@parm+'''' )

--select * from Sales_FHD_T where dlid=@parm


end

销售专用发票

销售专用发票存储过程

CREATE PROCEDURE [dbo].[NewPrint_SaleBillVouch_body]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from SaleBillVouchZW with(nolock) where sbvid='''+@parm+'''' )

--SELECT * from SaleBillVouchZW where sbvid=@parm


end

红字专用销售发票

CREATE PROCEDURE [dbo].[NewPrint_SaleBillVouch_title]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from SaleBillVouchZT with(nolock) where sbvid='''+@parm+'''' )

--select * from SaleBillVouchZT where sbvid=@parm


end


销售普通发票

销售普通发票存储过程

CREATE PROCEDURE [dbo].[NewPrint_SaleBillVouch_body]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from SaleBillVouchZW with(nolock) where sbvid='''+@parm+'''' )

--SELECT * from SaleBillVouchZW where sbvid=@parm


end

红字普通销售发票

CREATE PROCEDURE [dbo].[NewPrint_SaleBillVouch_title]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from SaleBillVouchZT with(nolock) where sbvid='''+@parm+'''' )

--select * from SaleBillVouchZT where sbvid=@parm


end


委托代销发货单

委托代销发货单

CREATE PROCEDURE [dbo].[NewPrint_Sales_DXFH_title]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from Sales_DXFH_T with(nolock) where dlid='''+@parm+'''' )

--select * from Sales_DXFH_T where dlid=@parm


end

委托代销发货退回单

委托代销发货退回单

CREATE PROCEDURE [dbo].[NewPrint_Sales_DXFH_title]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from Sales_DXFH_T with(nolock) where dlid='''+@parm+'''' )

--select * from Sales_DXFH_T where dlid=@parm


end


委托代销结算单

委托代销结算单

CREATE PROCEDURE [dbo].[NewPrint_Sales_DXJS_title]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from Sales_DXJS_T with(nolock) where id='''+@parm+'''' )

--select * from Sales_DXJS_T where id=@parm


end


委托代销结算退回单

CREATE PROCEDURE [dbo].[NewPrint_Sales_DXJS_title]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsection)

exec('SELECT '+@strname+' from Sales_DXJS_T with(nolock) where id='''+@parm+'''' )

--select * from Sales_DXJS_T where id=@parm


end


委托代销调整单

CREATE PROCEDURE [dbo].[NewPrint_Sales_DXFH_body]

@parm varchar(100) ,@user varchar(100) ,@cardnumber varchar(100), @cardsection varchar (100)

AS

begin

declare @strname varchar(4000)

set @strname=dbo.NPrint_GetFldName(@user,@cardnumber,@cardsecti


X畅捷通软件官方正版.用友软件.企业云服务

截屏,微信识别二维码

客服QQ:5151867

(点击QQ号复制,添加好友)