-- 24.03.05 create procedure dbo.%PROC% @id numeric, @action_id numeric, @action_history_id numeric, @client_contract_id numeric, @deal_id numeric, @stock_id numeric, @comis_sum money, @operday datetime, @contragent_id numeric, @partion_id numeric as begin tran .ID_VAR(@plan_id) .ID_VAR(@fund_id) .ID_VAR(@cur_id) .ID_VAR(@d_acc_id) .ID_VAR(@d863_id) .ID_VAR(@c_acc_id) .INT_VAR(@out_method_id) .NAME_VAR(@opmess) .NAME_VAR(@d_subc_str) .NAME_VAR(@c_subc_str) .NAME_VAR(@deal_code) declare @owner_id numeric, @is_com_in int, @acc_comis_id numeric, @mess varchar(255), @id1 numeric, @id2 numeric, @id3 numeric, @id4 numeric, @int1 int, @int2 int, @int3 int, @int4 int, @int5 int select @cur_id=.CUR('RUR') select @deal_code=upper(.ITEM_TYPE_CODE(@deal_id)) .BACK_GET_PIF_PARMS(@client_contract_id,@fund_id,@plan_id,@out_method_id) select @owner_id=.ORGANIZATION .BACK_GET_ORG_PARMS(@owner_id, @id1, @id2, @id3, @int1, @int2, @int3, @is_com_in, @int4, @int5, @id4) IF ISNULL(@is_com_in, 0) = 0 BEGIN IF @deal_code IN ('DOG_DEALINGS_BAY_VBR', 'DEALINGS_VIA_BROKER') SELECT @d_acc_id = .SD_ACCID_FROM_EFFNO(@plan_id, '58.1') IF @deal_code IN ('DOG_DEALINGS_SALE_VBR', 'DEALINGS_VIA_BROKER_SALE') SELECT @d_acc_id = .SD_ACCID_FROM_EFFNO(@plan_id, '48') END ELSE BEGIN IF @deal_code IN ('DOG_DEALINGS_BAY_VBR', 'DEALINGS_VIA_BROKER') BEGIN -- .ACCID_FROM_CONST2PLAN(@d_acc_id, 'BACK_ACC_COM_IN', @plan_id, 1, 1, 'Счет затрат на приобретение', @mess) -- letsko_av -- 14.09.2005 -- Изменения для новой справки СЧА -- SELECT @d_acc_id = .SD_ACCID_FROM_EFFNO(@plan_id, '91.7') .ACCID_FROM_CONST2PLAN(@d_acc_id, 'BACK_ACC_SECUR_MP_LONG_COMIS', @plan_id, 1, 1, 'Счет ЦБ (длинная позиция) комиссия', @mess) -- letsko_av (end) IF @d_acc_id IS NULL SELECT @d_acc_id = .SD_ACCID_FROM_EFFNO(@plan_id, '91.5') END END IF @deal_code IN ('DEALINGS_VIA_BROKER', 'DEALINGS_VIA_BROKER_SALE') SELECT @c_acc_id = .SD_ACCID_FROM_EFFNO(@plan_id, '76.5.4') IF @deal_code IN ('DOG_DEALINGS_BAY_VBR') -- SELECT @c_acc_id = .SD_ACCID_FROM_EFFNO(@plan_id, '76.12') SELECT @c_acc_id = .SD_ACCID_FROM_EFFNO(@plan_id, '76.5.4') IF @deal_code IN ('DOG_DEALINGS_SALE_VBR') BEGIN -- SELECT @c_acc_id = .SD_ACCID_FROM_EFFNO(@plan_id, '76.12') SELECT @c_acc_id = .SD_ACCID_FROM_EFFNO(@plan_id, '76.5.4') -- .BACK_OPERS_BEGIN(@owner_id, 1, @purpose_id, @home_place_class_id, @home_object_id, @client_contract_id, @investor_subc_str, @portfolio_sub_id) -- .TYPE_GET('DOG_DEALINGS_SALE_VBR', @deal_id) -- .TYPE_GET('REAL_PAYMENT_IN', @deal_id) -- .BACK_PLASE_CLASS_FROM_OBJ(@to_object_id, @organisation_id, @home_place_class_id) -- .ACCID_FROM_OBJ2PLAN(@c_acc_id, @home_place_class_id, @plan_id, 1, @owner_class_id, 'Счет с нашей стороны', @mess) END IF @deal_code IN ('DOG_DEALINGS_SALE_VBR', 'DEALINGS_VIA_BROKER_SALE') SELECT @d863_id = .SD_ACCID_FROM_EFFNO(@plan_id, '86.3') .SUBC_STR_ADD(@c_subc_str,'partners',@contragent_id) .SUBC_STR_ADD(@d_subc_str,'stock_emis',@stock_id) if @deal_code in ('DOG_DEALINGS_BAY_VBR','DEALINGS_VIA_BROKER') begin .SUBC_STR_ADD(@d_subc_str,'doc_sec_in',@partion_id) end else select @d_subc_str=null DECLARE @bo1_ext_acc_id NUMERIC, @bo1_home_place_class_id NUMERIC; -- kashuba_av 20.01.06 begin В этом куске проверяется используется или нет счет прибыли/убытка по комисси для УК declare @is_p2l_comis numeric, @org numeric select @org=(select owner_id from td_depo_docs where id=@id) select @is_p2l_comis=(select is_p2l_comis from tb_broker_change where id=.BACK_GET_BROKER_ID(@org)) if @is_p2l_comis=1 begin .ACCID_FROM_CONST2PLAN(@bo1_ext_acc_id, 'BACK_ACC_REZ_OTHER', @plan_id, 1, 1, 'Счет прибыли/убытка комисси при продаже', @mess) end else begin .ACCID_FROM_CONST2PLAN(@bo1_ext_acc_id, 'REALIZ_COST', @plan_id, 1, 1, 'Реализация. Себестоимость', @mess) end -- kashuba_av 20.01.06 end -- letsko_av -- 23.03.2005 -- проверка! --select @fund_id AS fund_id, @plan_id AS plan_id, @operday AS operday, -- @d_acc_id AS d_acc_id, @c_acc_id AS c_acc_id, @comis_sum AS comis_sum, @cur_id AS cur_id, -- @operday AS operday, @opmess AS opmess, @id AS id, -- @action_id AS action_id, @action_history_id AS action_history_id, @comis_sum AS comis_sum, -- @comis_sum AS comis_sum, @d_subc_str AS d_subc_str, @c_subc_str AS c_subc_str; -- letsko_av (end) IF @d863_id IS NULL BEGIN SELECT @opmess = 'Комиссия по сделке' .OPERATION_SBC(@fund_id, @plan_id, @operday, @d_acc_id, @c_acc_id, @comis_sum, @cur_id, @operday, NULL, NULL, @opmess, Y, @operation_id, @id, @action_id, @action_history_id, @comis_sum, @comis_sum, @d_subc_str, @c_subc_str) END ELSE IF @deal_code NOT IN ('DOG_DEALINGS_SALE_VBR') BEGIN SELECT @opmess = 'Комиссия по сделке' .OPERATION_SBC(@fund_id, @plan_id, @operday, @bo1_ext_acc_id, @c_acc_id, @comis_sum, @cur_id, @operday, NULL, NULL, @opmess, Y, @operation_id, @id, @action_id, @action_history_id, @comis_sum, @comis_sum, @d_subc_str, @c_subc_str) -- SELECT @opmess = 'Расходы по продаже' -- .OPERATION_SBC(@fund_id, @plan_id, @operday, @d863_id, @bo1_ext_acc_id, @comis_sum, @cur_id, @operday, NULL, NULL, @opmess, Y, -- @operation_id, @id, @action_id, @action_history_id, @comis_sum, @comis_sum, @d_subc_str, @c_subc_str) -- kashuba_av 20.01.06 begin Списание коммиссий 86.3 - 90.2 только для Проспирити if rtrim(ltrim(.GET_CONST('CLIENT_CODE'))) = 'PROSPERITY' begin .ACCID_FROM_CONST2PLAN(@bo1_ext_acc_id, 'REALIZ_COST', @plan_id, 1, 1, 'Реализация. Через этот счет списаниие комиссий продажи', @mess) SELECT @opmess = 'Расходы по продаже' .OPERATION_SBC(@fund_id, @plan_id, @operday, @d863_id, @bo1_ext_acc_id, @comis_sum, @cur_id, @operday, NULL, NULL, @opmess, Y, @operation_id, @id, @action_id, @action_history_id, @comis_sum, @comis_sum, @d_subc_str, @c_subc_str) end -- kashuba_av 20.01.06 end END ELSE IF @deal_code NOT IN ('DOG_DEALINGS_SALE_VBR') BEGIN SELECT @opmess = 'Комиссия по сделке' .OPERATION_SBC(@fund_id, @plan_id, @operday, @bo1_ext_acc_id, @c_acc_id, @comis_sum, @cur_id, @operday, NULL, NULL, @opmess, Y, @operation_id, @id, @action_id, @action_history_id, @comis_sum, @comis_sum, @d_subc_str, @c_subc_str) END commit tran