create procedure dbo.%PROC% @sid varchar(30) = null as .BEGIN('N') .CHECK_USER .CHECK_UPDATE begin tran /*** Богаковский 31/05/2005 добавил проверку *********/ if exists(select 1 from t_oper_subconto where t_oper_subconto.item_id=@id) .EXIT_MESSAGE('Удаление невозможно, поскольку существуют проводки по данной ЦБ') if exists(select 1 from tb_baysale_docitems where tb_baysale_docitems.stock_id=@id and .ITEMS_EXISTS(tb_baysale_docitems.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ ') if exists(select 1 from td_stock_moves where td_stock_moves.stock_id=@id and .ITEMS_EXISTS(td_stock_moves.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from t_storage_oper where t_storage_oper.stock_id=@id and .ITEMS_EXISTS(t_storage_oper.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from t_swift_messages where t_swift_messages.stock_id=@id and .ITEMS_EXISTS(t_swift_messages.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from t_swift_stat where t_swift_stat.stock_id=@id and .ITEMS_EXISTS(t_swift_stat.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from tb_active_for_credit where tb_active_for_credit.stock_id=@id and .ITEMS_EXISTS(tb_active_for_credit.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from tb_bill2dealings where tb_bill2dealings.stock_id=@id and .ITEMS_EXISTS(tb_bill2dealings.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from tb_coupon_algorithms where tb_coupon_algorithms.stock_id=@id and .ITEMS_EXISTS(tb_coupon_algorithms.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from tb_deals4oper where tb_deals4oper.stock_id=@id and .ITEMS_EXISTS(tb_deals4oper.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from tb_directions where tb_directions.stock_id=@id and .ITEMS_EXISTS(tb_directions.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from tb_list_stock_redemption where tb_list_stock_redemption.stock_id=@id and .ITEMS_EXISTS(tb_list_stock_redemption.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from tb_plan_moves where tb_plan_moves.stock_id=@id and .ITEMS_EXISTS(tb_plan_moves.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from tb_portfolio_to_portfolio where tb_portfolio_to_portfolio.stock_id=@id and .ITEMS_EXISTS(tb_portfolio_to_portfolio.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from tb_stock_for_dealing where tb_stock_for_dealing.stock_id=@id and .ITEMS_EXISTS(tb_stock_for_dealing.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from tb_stock_rates where tb_stock_rates.stock_id=@id and .ITEMS_EXISTS(tb_stock_rates.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from td_depo_doc2bill where td_depo_doc2bill.stock_id=@id and .ITEMS_EXISTS(td_depo_doc2bill.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from td_devidend where td_devidend.stock_id=@id and .ITEMS_EXISTS(td_devidend.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from td_group_sert where td_group_sert.stock_id=@id and .ITEMS_EXISTS(td_group_sert.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from td_issue_sert where td_issue_sert.stock_id=@id and .ITEMS_EXISTS(td_issue_sert.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from td_multy_poruch where td_multy_poruch.stock_id=@id and .ITEMS_EXISTS(td_multy_poruch.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from td_nomacc_out where td_nomacc_out.stock_id=@id and .ITEMS_EXISTS(td_nomacc_out.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from td_pay_fond where td_pay_fond.stock_id=@id and .ITEMS_EXISTS(td_pay_fond.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from td_queries where td_queries.stock_id=@id and .ITEMS_EXISTS(td_queries.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') /* -- Это документ ALD_DEPO if exists(select 1 from td_reconciliations_revise where td_reconciliations_revise.stock_id=@id and .ITEMS_EXISTS(td_reconciliations_revise.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') */ if exists(select 1 from td_srez_list where td_srez_list.stock_id=@id and .ITEMS_EXISTS(td_srez_list.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from td_srez_moves where td_srez_moves.stock_id=@id and .ITEMS_EXISTS(td_srez_moves.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from td_srez_rates where td_srez_rates.stock_id=@id and .ITEMS_EXISTS(td_srez_rates.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from td_stock4devident where td_stock4devident.stock_id=@id and .ITEMS_EXISTS(td_stock4devident.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from td_stock_blocks where td_stock_blocks.stock_id=@id and .ITEMS_EXISTS(td_stock_blocks.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from td_stock_coupons where td_stock_coupons.stock_id=@id and .ITEMS_EXISTS(td_stock_coupons.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from td_stock_deploument where td_stock_deploument.stock_id=@id and .ITEMS_EXISTS(td_stock_deploument.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from td_stock_lots where td_stock_lots.stock_id=@id and .ITEMS_EXISTS(td_stock_lots.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from td_stock_qty_accdate where td_stock_qty_accdate.stock_id=@id and .ITEMS_EXISTS(td_stock_qty_accdate.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from td_stop_list where td_stop_list.stock_id=@id and .ITEMS_EXISTS(td_stop_list.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from tp_pif_srez_portfolio where tp_pif_srez_portfolio.stock_id=@id and .ITEMS_EXISTS(tp_pif_srez_portfolio.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') if exists(select 1 from tr_brock_fcsm_rep where tr_brock_fcsm_rep.stock_id=@id and .ITEMS_EXISTS(tr_brock_fcsm_rep.id)) .EXIT_MESSAGE('Невозможно удалить ЦБ, поскольку существуют документы, ссылающиеся на эту ЦБ') .UPDATE_STATE .ACTION_HISTORY /*-------Проводки ----------*/ commit tran .END