create procedure dbo.%PROC% @sid varchar(30) = null as declare @action_id numeric, @id numeric, @user_id numeric, @state_id numeric, @new_state_id numeric, @type_id numeric begin tran select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .CHECK_UPDATE .GET_PROPS select @pay_perpose=(select code from t_purposes where id=@purpose_id) if @from_partner_acc_id=@to_partner_acc_id .EXIT_MESSAGE('Расчетные счета отправителя и получателя не должны совпадать') .UPDATE_STATE .ACTION_HISTORY /*-------Проводки ----------*/ .NAME_VAR(@fund_type_code) declare @doc_name varchar(255) select @fund_type_code = .ITEM_TYPE_CODE(@owner_id) select @complete_date = .OPERDAY --.GET_SD_OPER_DATE(@complete_date,@id) select @doc_name = 'Проведение платежа как неопознанного' /* Проводки для ПИФ */ if .STR_FOR_IF(@fund_type_code) = .STR_FOR_IF('pif_fund') begin declare @d_acc_id numeric declare @c_acc_id numeric declare @fund_plan_id numeric select @fund_plan_id = .ARG_PLAN('PIF_ACCOUNT') select @d_acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'51') select @c_acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'76.14') .OPERATION(@owner_id,@fund_plan_id,@complete_date,@d_acc_id,@c_acc_id,@doc_sum,'RUR',@complete_date,0,0,@doc_name,N) .UPDATE_SUBC(D,'bank_account',@to_partner_acc_id) .UPDATE_SUBC(K,'partners',@from_partner_id) .SUBC_CHECK end if .STR_FOR_IF(@fund_type_code) = .STR_FOR_IF('npf_fund') begin .EXIT_MESSAGE('Для НПФ временно не поддерживается') end .SD_ASSENT_ADD(@id,@to_partner_acc_id,@doc_sum,null,@owner_id,@purpose_id) .SD_ASSET_OPER_ADD(@id,@to_partner_acc_id,@doc_sum,null,@owner_id,@purpose_id,1) commit tran .END