create procedure dbo.%PROC% @sid varchar(30) = null , @in_date_de_d varchar(36) = null, @owner_id_s varchar(30) = null, @payer_id_s varchar(30) = null, @payer_name varchar(255) = null as .BEGIN('N') .CHECK_USER .CHECK_VIEW_LIST --.ARGCONVERT_FILTER .ID_VAR(@owner_id) .ID_VAR(@payer_id) .ID_VAR(@fund_plan_id) .ID_VAR(@acc_id) declare @oper_date datetime select @owner_id=convert(numeric,@owner_id_s) select @payer_id=convert(numeric,@payer_id_s) select @fund_plan_id = .ARG_PLAN('PIF_ACCOUNT') select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.1') select @oper_date=convert(datetime,@in_date_de_d,3) if @oper_date is null select @oper_date = .OPERDAY declare @subcstr varchar(255) select @subcstr = '{'+convert(varchar,(.SUBCTYPE_FROM_CODE('partners'))) + ':%}' --.TOTALS_QUERY(@owner_id,@fund_plan_id,@oper_date,@oper_date,@acc_id,@subcstr,L,N,Y) .TOTALS_QUERY_SUB(@owner_id,@fund_plan_id,@oper_date,@oper_date,@acc_id,N,N,'partners',N,N,N,L,N,Y,N,Y) declare @pays_qty_all .PIF_PAY_TYPE, @payer_name_s varchar(255) if isnull(@payer_name,'')='' select @payer_name_s='%' else select @payer_name_s='%'+rtrim(ltrim(upper(@payer_name)))+'%' select @pays_qty_all=sum(isnull((t.q_saldo_ce-t.q_saldo_de),0)) from #tmp_oss t, t_partners p where p.id=t.subc2_id and .ITEMS_EXISTS(p.id) and ((t.subc2_id=@payer_id and @payer_id is not null) -- or ((isnull(rtrim(ltrim(upper(p.partner_name))),'') LIKE isnull('%'+rtrim(ltrim(upper(@payer_name)))+'%','%')) or ((isnull(rtrim(ltrim(upper(p.partner_name))),'') LIKE @payer_name_s) and @payer_id is null)) select @sid as sid, isnull(.STR_FOR_IF(p.partner_code),'Не задан') as investor_code, isnull(.STR_FOR_IF(p.partner_name),'Не задано') as investor_name, --isnull(isnull(.STR_FOR_IF(t_items.item_remark),.STR_FOR_IF(p.partner_name)),'Не задан') as investor_name, .PAYS_QTY_CALC((t.q_saldo_ce-t.q_saldo_de),@owner_id) as pays_qty, .PAYS_QTY_CALC(@pays_qty_all,@owner_id) as pays_qty_all from #tmp_oss t, t_partners p, .ACTUAL_TABLES where p.id=t.subc2_id --and isnull((t.q_saldo_ce-t.q_saldo_de),0) > 0 .ACTUAL_WHERE(p.id) and ((t.subc2_id=@payer_id and @payer_id is not null) -- or ((isnull(rtrim(ltrim(upper(p.partner_name))),'') LIKE isnull('%'+rtrim(ltrim(upper(@payer_name)))+'%','%')) or ((isnull(rtrim(ltrim(upper(p.partner_name))),'') LIKE @payer_name_s) and @payer_id is null)) order by investor_code --.DROP_QUERY_TABLES(#tmp_oss) .END