BP调用时,如果BPAgetn的返回的oChannel为空时
protected
override
object InvokeImplement<T>(T oChannel)
{
IContext context = ContextManager.Context;
IGetBillSrcBusinessType channel = oChannel as IGetBillSrcBusinessType;
if (channel != null)
{
return channel.Do(context, out returnMsgs, docNo, aPOrAR);
}
return null;
}
{
IContext context = ContextManager.Context;
IGetBillSrcBusinessType channel = oChannel as IGetBillSrcBusinessType;
if (channel != null)
{
return channel.Do(context, out returnMsgs, docNo, aPOrAR);
}
return null;
}
先确定BP脚本已经执行,如果还是为null,那就是BP没有通过组装工具发布造成的。
也可以用以下脚本把BP发布到数据库
declare
@Component
nvarchar(
50)
-- 设置组件名称
set @Component = ' xxx.dll '
declare @Application int
-- 设置组件所在模块
set @Application = 3001
DELETE FROM UBF_Assemble_AppComponents WHERE Component = @Component;
declare @SNIndex bigint
if object_id( ' InnerAllocSerials ') is null
exec [ dbo ]. [ AllocSerials ]
@AllocCount = 1,
@StartSN = @SNIndex output
else
exec [ dbo ]. [ InnerAllocSerials ]
@AllocCount = 1,
@StartSN = @SNIndex output
INSERT INTO UBF_Assemble_AppComponents (ID,CreatedOn,CreatedBy,ModifiedOn,ModifiedBy,SysVersion,Component,ComponentID,ComponentType,Application)
values( @SNIndex, GETDATE(), ' ufsoft ', GETDATE(), ' ufsoft ', 0, @Component, ' a91a413b-e43a-432d-84b2-c601af8d1c89 ', ' BP ', @Application)
-- 设置组件名称
set @Component = ' xxx.dll '
declare @Application int
-- 设置组件所在模块
set @Application = 3001
DELETE FROM UBF_Assemble_AppComponents WHERE Component = @Component;
declare @SNIndex bigint
if object_id( ' InnerAllocSerials ') is null
exec [ dbo ]. [ AllocSerials ]
@AllocCount = 1,
@StartSN = @SNIndex output
else
exec [ dbo ]. [ InnerAllocSerials ]
@AllocCount = 1,
@StartSN = @SNIndex output
INSERT INTO UBF_Assemble_AppComponents (ID,CreatedOn,CreatedBy,ModifiedOn,ModifiedBy,SysVersion,Component,ComponentID,ComponentType,Application)
values( @SNIndex, GETDATE(), ' ufsoft ', GETDATE(), ' ufsoft ', 0, @Component, ' a91a413b-e43a-432d-84b2-c601af8d1c89 ', ' BP ', @Application)