# Date: 19/06/06 # Version: 105 $DOC(PIF_SREZ_QUERY) name=Запрос на срез для ПИФ class=1 product=ALD_PIF name_formula=.TYPE_NAME(@type_id) + ' от ' + .DATE_TO_STR(@date_e) remark_formula=$TEXT(14364577) .ITEM_NAME(@owner_id)+ ' от '+ .DATE_TO_STR(@date_e) + ' ' + @remark $ENDTEXT(14364577) $STATE(BEG) name=Начальный class=1 $ENDSTATE $STATE(CRT) name=Исполнен class=0 $ENDSTATE $STATE(DEL) name=Удален class=2 $ENDSTATE $STATE(ED) name=Редактируется class=0 $ENDSTATE $PROP(OUT_DATE) name=Внешняя дата корреспондента field_name=out_date table_name=td_depo_docs field_type=datetime field_length=8 field_scale=null field_prec=null page=1 order=1 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(IN_DATE) name=Дата документа field_name=in_date table_name=td_depo_docs field_type=datetime field_length=8 field_scale=null field_prec=null page=1 order=2 init_class=1 init_formula=.OPERDAY unique_index=1 numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(WHO_GET) name=Кто принял field_name=who_get table_name=td_depo_docs field_type=varchar field_length=100 field_scale=null field_prec=null page=1 order=3 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(WHO_PUT) name=Кто отправил field_name=who_put table_name=td_depo_docs field_type=varchar field_length=100 field_scale=null field_prec=null page=1 order=4 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(OUT_NO) name=Внешний номер field_name=out_no table_name=td_depo_docs field_type=varchar field_length=50 field_scale=null field_prec=null page=1 order=5 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(IN_NO) name=Номер документа field_name=in_no table_name=td_depo_docs field_type=varchar field_length=50 field_scale=null field_prec=null page=1 order=6 init_class=0 init_formula=null unique_index=1 numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(CORRESPONDENT_ID) name=Корреспондент field_name=correspondent_id table_name=td_depo_docs field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=7 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(PAYER_ID) name=Плательщик field_name=payer_id table_name=td_depo_docs field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=8 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(PAY_SUM) name=Сумма field_name=pay_sum table_name=td_depo_docs field_type=money field_length=8 field_scale=null field_prec=null page=1 order=9 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(INITIATOR_ID) name=Инициатор field_name=initiator_id table_name=td_depo_docs field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=10 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(DOCUMENT_FORM_ID) name=Форма документа field_name=document_form_id table_name=td_depo_docs field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=11 init_class=1 init_formula=1 unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(DEPO_DOC_TYPE) name=Входящий исходящий или внутр field_name=depo_doc_type table_name=td_depo_docs field_type=int field_length=4 field_scale=null field_prec=null page=1 order=12 init_class=1 init_formula=1 unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(FOLDER_ID) name=Папка field_name=folder_id table_name=td_depo_docs field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=13 init_class=2 init_formula=.DEPO_FOLDER_DEFAULT unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(SUM_CUR_ID) name=Валюта суммы field_name=sum_cur_id table_name=td_depo_docs field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=14 init_class=1 init_formula=.CUR("RUR") unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(DOC_COMMENT) name=Комментарий field_name=doc_comment table_name=td_depo_docs field_type=varchar field_length=255 field_scale=null field_prec=null page=1 order=15 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(FOUNDATION_ID) name=Документ основание field_name=foundation_id table_name=td_depo_docs field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=16 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(OWNER_ID) name=Владелец field_name=owner_id table_name=td_depo_docs field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=17 init_class=1 init_formula=.ORGANIZATION unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(DATE_E) name=Дата запроса конечная field_name=date_e table_name=td_queries field_type=datetime field_length=8 field_scale=null field_prec=null page=2 order=18 init_class=1 init_formula=.OPERDAY unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(SREZDOC_ID) name=Полученный срез field_name=srezdoc_id table_name=td_queries field_type=numeric field_length=9 field_scale=0 field_prec=18 page=2 order=21 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(DATE_B) name=Дата расчета периода field_name=date_b table_name=td_queries field_type=datetime field_length=8 field_scale=null field_prec=null page=2 order=20 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(REMARK) name=Комментарий field_name=remark table_name=td_queries field_type=varchar field_length=255 field_scale=null field_prec=null page=2 order=22 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(STARTSREZ_ID) name=Начальный срез field_name=startsrez_id table_name=td_queries field_type=numeric field_length=9 field_scale=0 field_prec=18 page=2 order=19 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(RATE_PLACE_ID) name=ID торговой площадки field_name=rate_place_id table_name=td_queries field_type=numeric field_length=9 field_scale=0 field_prec=18 page=2 order=23 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $RELATION(REL1) class=1 type=actions_history form=uo_actions_history_list prop=null idname=null order=999 $ENDRELATION $RELATION(REL2) class=1 type=activdocs form=ACTION2 prop=null idname=null order=1000 $ENDRELATION $RELATION(REL3) class=1 type=PIF_SREZ form=PIF_SREZ_LIST4QUERY prop=null idname=query_id_s order=997 $ENDRELATION $RELATION(REL4) class=1 type=t_operations form=item_opers_list prop=null idname=item_id_s order=998 $ENDRELATION $RELATION(REL5) class=0 type=cur form=null prop=SUM_CUR_ID idname=null order=null $ENDRELATION $RELATION(REL6) class=0 type=partners form=null prop=PAYER_ID idname=null order=null $ENDRELATION $RELATION(REL7) class=0 type=partners form=null prop=INITIATOR_ID idname=null order=null $ENDRELATION $RELATION(REL8) class=0 type=partners form=null prop=CORRESPONDENT_ID idname=null order=null $ENDRELATION $RELATION(REL9) class=0 type=d_depo_folders form=null prop=FOLDER_ID idname=null order=null $ENDRELATION $RELATION(REL11) class=0 type=items form=null prop=FOUNDATION_ID idname=null order=null $ENDRELATION $RELATION(REL13) class=0 type=plans2partner form=null prop=OWNER_ID idname=null order=null $ENDRELATION $RELATION(REL14) class=0 type=pif_fund form=null prop=OWNER_ID idname=null order=null $ENDRELATION $RELATION(REL15) class=0 type=rate_places form=null prop=RATE_PLACE_ID idname=null order=null $ENDRELATION $RELATION(REL10) class=0 type=PIF_SREZ form=null prop=STARTSREZ_ID idname=null order=null $ENDRELATION $FORM(D_PIF_SREZ_QUERY_EDIT) name=Данные class=5 filter=null target_state= uo=uo_edit dw=d_pif_srez_query_edit procedure=ap_50630000000028927 patterns=GENERIC_VIEW_ITEM_P2 user_define=0 isvisible=1 istab=1 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364578) create procedure dbo.%PROC% @sid varchar(30) = null as declare @id numeric, @action_id numeric, @user_id numeric, @state_id numeric, @type_id numeric, @new_state_id numeric begin select @id = convert(numeric, @sid) select @action_id = %ACTION_ID% .CHECK_USER .CHECK_VIEW_ITEM .VIEW_ITEM(ALL,2) end $ENDTEXT(14364578) $ACTION2RELATION(REL15.PLACE_NAME) relation=REL15 where=null prop=PLACE_NAME order=1 alias=place_name $ENDACTION2RELATION $ACTION2RELATION(REL15.PLACE_CODE) relation=REL15 where=null prop=PLACE_CODE order=2 alias=place_code $ENDACTION2RELATION $ACTION2RELATION(REL10.REMARK) relation=REL10 where=null prop=REMARK order=4 alias=startsrez_remark $ENDACTION2RELATION $ENDFORM $FORM(FORM1) name=Просмотр class=5 filter=null target_state= uo=uo_edit dw=d_pif_depooper_p1 procedure=ap_50630000000028922 patterns=GENERIC_VIEW_ITEM_P1 user_define=0 isvisible=0 istab=1 posx=0 posy=0 width=2322 height=1520 proc_text=$TEXT(14364578) create procedure dbo.%PROC% @sid varchar(30) = null as declare @id numeric, @action_id numeric, @user_id numeric, @state_id numeric, @type_id numeric, @type_id_s varchar(30), @new_state_id numeric, @state_name_id_s varchar(30) begin select @id = convert(numeric, @sid) select @action_id = %ACTION_ID% select @type_id_s = NULL select @state_name_id_s = NULL .CHECK_USER .CHECK_VIEW_ITEM if @id = -1 begin begin tran .GET_PROPS .CHECK_INSERT .INIT_VARS(B) .INSERT_ITEMS .INSERT commit tran end .VIEW_ITEM(ALL,1) end $ENDTEXT(14364578) $ACTION2RELATION(REL14.PARTNER_CODE) relation=REL14 where=null prop=PARTNER_CODE order=1 alias=found_code $ENDACTION2RELATION $ACTION2RELATION(REL14.PARTNER_NAME) relation=REL14 where=null prop=PARTNER_NAME order=2 alias=found_name $ENDACTION2RELATION $ACTION2RELATION(REL7.PARTNER_CODE) relation=REL7 where=null prop=PARTNER_CODE order=1 alias=initiator_code $ENDACTION2RELATION $ACTION2RELATION(REL7.PARTNER_SHORT_NAME) relation=REL7 where=null prop=PARTNER_SHORT_NAME order=4 alias=initiator_short_name $ENDACTION2RELATION $ACTION2RELATION(REL8.PARTNER_CODE) relation=REL8 where=null prop=PARTNER_CODE order=1 alias=corr_code $ENDACTION2RELATION $ACTION2RELATION(REL8.PARTNER_SHORT_NAME) relation=REL8 where=null prop=PARTNER_SHORT_NAME order=4 alias=corr_short_name $ENDACTION2RELATION $ACTION2RELATION(REL6.PARTNER_CODE) relation=REL6 where=null prop=PARTNER_CODE order=1 alias=payer_code $ENDACTION2RELATION $ACTION2RELATION(REL6.PARTNER_SHORT_NAME) relation=REL6 where=null prop=PARTNER_SHORT_NAME order=4 alias=payer_short_name $ENDACTION2RELATION $ACTION2RELATION(REL11.ITEM_NAME) relation=REL11 where=null prop=ITEM_NAME order=null alias=foundation_name $ENDACTION2RELATION $BIND(BIND1) type=PIF_SREZ_QUERY action=D_PIF_SREZ_QUERY_EDIT class=1 order=1 idname=null $ENDBIND $BIND(BIND2) type=arh_edit action=d_perevodarchiv_p3 class=1 order=2 idname=sid $ENDBIND $ENDFORM $ACTION(ACTION1) name=Данные (изм) class=2 form=D_PIF_SREZ_QUERY_EDIT target_state=null procedure=ap_50630000000028931 patterns=GENERIC_UPDATE_P2 user_define=0 isvisible=1 istab=1 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364578) create procedure dbo.%PROC% @sid varchar(30) = null, .ARGLIST(ALL, 2) as declare @action_id numeric, @id numeric, @user_id numeric, @state_id numeric, @type_id numeric, @item_name varchar(100), @new_state_id numeric begin tran select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .CHECK_UPDATE .ARGCONVERT(ALL, 2) .TEST_UNIQUE(ALL, 2) .GET_PROPS(ALL,1) .UPDATE_ITEMS .UPDATE(ALL,2) .RELGEN .UPDATE_STATE .ACTION_HISTORY commit tran $ENDTEXT(14364578) $ENDACTION $ACTION(ACTION2) name=На редактирование class=9 form=null target_state=ED procedure=ap_50630000000028932 patterns=GENERIC_MOVE user_define=1 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364578) 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 .UPDATE_STATE .ACTION_HISTORY /*-------Проводки ----------*/ .GET_PROPS .SD_TEST_CLOSED_PERIOD(@date_e,@owner_id) delete tp_pif_srez where id = @srezdoc_id delete t_items where id = @srezdoc_id delete t_items from tp_pif_srez_portfolio where tp_pif_srez_portfolio.srez_id=@srezdoc_id and t_items.id=tp_pif_srez_portfolio.id delete tp_pif_srez_portfolio where srez_id=@srezdoc_id delete t_items from tp_pif_srez_balance where tp_pif_srez_balance.srez_id=@srezdoc_id and t_items.id=tp_pif_srez_balance.id delete tp_pif_srez_balance where srez_id=@srezdoc_id delete t_items from tp_pif_srez_add_info where tp_pif_srez_add_info.srez_id=@srezdoc_id and t_items.id=tp_pif_srez_add_info.id delete tp_pif_srez_add_info where srez_id=@srezdoc_id if @@error!=0 begin rollback tran raiserror 40000 'Ошибка при удалении среза' return end delete t_items from ts_asset_structure_div where ts_asset_structure_div.report_id=@srezdoc_id and t_items.id=ts_asset_structure_div.id delete ts_asset_structure_div where report_id=@srezdoc_id declare @del_id numeric, @r_d numeric declare @trancount int select @trancount=.TRAN_COUNT(0) .TRAN_COMMIT(0) create table #del_rep(id numeric) insert #del_rep select id from td_depo_docs where foundation_id=@srezdoc_id declare cur1 cursor for select id from #del_rep open cur1 fetch cur1 into @del_id while @@sqlstatus=0 begin .TYPE_DELETE(@del_id,'report_for_investment_act_pif') delete ts_investment_report where id=@del_id /* .TYPE_DELETE(@del_id,'report_asset_structure_div') delete t_items from ts_asset_structure_div where ts_asset_structure_div.report_id=@del_id and t_items.id=ts_asset_structure_div.id delete ts_asset_structure_div where report_id=@del_id */ .TYPE_DELETE(@del_id,'SD_ASSET_ENUM') fetch cur1 into @del_id end close cur1 deallocate cursor cur1 drop table #del_rep .TRAN_COMMIT(@trancount) .ARH_FLAG_CLEAR commit tran $ENDTEXT(14364578) $ENDACTION $ACTION(ACTION3) name=Исполнить class=9 form=null target_state=CRT procedure=ap_50630000000028933 patterns=GENERIC_MOVE user_define=1 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364578) create procedure dbo.%PROC% @sid varchar(30) = null as .CHECKPOINT_INIT 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 .UPDATE_STATE .ACTION_HISTORY .CHECKPOINT_EXEC('Параметры') /*-------Проводки ----------*/ .GET_PROPS declare @scha_2005_d datetime select @scha_2005_d=convert(datetime,(.GET_CONST('SD_SCHA_2005')),3) if (@date_e>=@scha_2005_d) and (@startsrez_id is null) begin .exit_message('Необходимо указать начальный срез') end .SD_TEST_CLOSED_PERIOD(@date_e,@owner_id) .TYPE_INIT('pif_srez') .TYPE_ASSIGN(srez_date, @date_e) .TYPE_ASSIGN(startsrez_id, @startsrez_id) .TYPE_ASSIGN(srez_date_b, @date_b) .TYPE_ASSIGN(fond_id, @owner_id) .TYPE_ASSIGN(remark, @remark) .TYPE_ASSIGN(query_id, @id) .TYPE_INSERT('pif_srez','CRT') update td_queries set srezdoc_id = @id1_1 where id = @id declare @srez_sid varchar(30) select @srez_sid = convert(varchar, @id1_1) .CHECKPOINT_EXEC('Создание среза') .EXEC_ACTION(@srez_sid,'pif_srez','PIF_SREZ_BALANCE_CALCULATE') .CHECKPOINT_EXEC('Подсчет баланса') .EXEC_ACTION(@srez_sid,'pif_srez','PIF_SREZ_ACCOUNTS_CALCULATE') .CHECKPOINT_EXEC('Подсчет остатков по счетам') .EXEC_ACTION(@srez_sid,'pif_srez','pif_srez_calculate') .CHECKPOINT_EXEC('Подсчет среза') .EXEC_ACTION(@srez_sid,'pif_srez','PIF_SREZ_ADD_INFO_CALC') .CHECKPOINT_EXEC('Расчет доп. информациия для среза') .ARH_NUMBER_UPDATE .CHECKPOINT_EXEC('Архивация') commit tran $ENDTEXT(14364578) $ENDACTION $ACTION(ACTION4) name=Добавить class=1 form=FORM1 target_state=ED procedure=ap_50630000000028934 patterns=GENERIC_INSERT_P1 user_define=0 isvisible=0 istab=1 posx=0 posy=0 width=2377 height=1732 proc_text=$TEXT(14364578) create procedure dbo.%PROC% @sid varchar(30) = null, .ARGLIST(ALL,1) as declare @action_id numeric, @id numeric, @user_id numeric, @state_id numeric, @type_id numeric, @item_name varchar(100), @new_state_id numeric begin select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .CHECK_UPDATE .ARGCONVERT(ALL,1) .DEPO_GEN_NO(@in_no,@depo_doc_type) .INIT_VARS(AFTER,ALL,1) .TEST_UNIQUE(ALL,1) begin tran .UPDATE(ALL,1) .RELGEN .UPDATE_STATE .ACTION_HISTORY commit tran select @sid = convert(varchar,@id) select @sid end $ENDTEXT(14364578) $BIND(BIND1) type=PIF_SREZ_QUERY action=ACTION1 class=1 order=1 idname=null $ENDBIND $ENDACTION $ACTION(ACTION5) name=Изменить class=2 form=FORM1 target_state=null procedure=ap_50630000000028936 patterns=GENERIC_UPDATE_P1 user_define=0 isvisible=0 istab=1 posx=0 posy=0 width=2373 height=1792 proc_text=$TEXT(14364578) create procedure dbo.%PROC% @sid varchar(30) = null, .ARGLIST(ALL,1) as declare @action_id numeric, @id numeric, @user_id numeric, @state_id numeric, @type_id numeric, @item_name varchar(100), @new_state_id numeric begin tran select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .CHECK_UPDATE .ARGCONVERT(ALL,1) .TEST_UNIQUE(ALL,1) .UPDATE(ALL,1) .RELGEN .UPDATE_STATE .ACTION_HISTORY commit tran select sid = convert(varchar, @id) $ENDTEXT(14364578) $BIND(BIND1) type=PIF_SREZ_QUERY action=ACTION1 class=1 order=1 idname=null $ENDBIND $ENDACTION $ACTION(ACTION6) name=Удалить class=3 form=FORM1 target_state=DEL procedure=ap_50630000000028938 patterns=GENERIC_MOVE user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364578) 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 .UPDATE_STATE .ACTION_HISTORY /*-------Проводки ----------*/ commit tran $ENDTEXT(14364578) $BIND(BIND1) type=PIF_SREZ_QUERY action=D_PIF_SREZ_QUERY_EDIT class=1 order=1 idname=null $ENDBIND $ENDACTION $STATE2ACTION(BEG.ACTION4) state=BEG action=ACTION4 $ENDSTATE2ACTION $STATE2ACTION(CRT.ACTION2) state=CRT action=ACTION2 $ENDSTATE2ACTION $STATE2ACTION(CRT.D_PIF_SREZ_QUERY_EDIT) state=CRT action=D_PIF_SREZ_QUERY_EDIT $ENDSTATE2ACTION $STATE2ACTION(CRT.FORM1) state=CRT action=FORM1 $ENDSTATE2ACTION $STATE2ACTION(ED.ACTION1) state=ED action=ACTION1 $ENDSTATE2ACTION $STATE2ACTION(ED.ACTION3) state=ED action=ACTION3 $ENDSTATE2ACTION $STATE2ACTION(ED.ACTION5) state=ED action=ACTION5 $ENDSTATE2ACTION $STATE2ACTION(ED.ACTION6) state=ED action=ACTION6 $ENDSTATE2ACTION $STATE2ACTION(ED.D_PIF_SREZ_QUERY_EDIT) state=ED action=D_PIF_SREZ_QUERY_EDIT $ENDSTATE2ACTION $STATE2ACTION(ED.FORM1) state=ED action=FORM1 $ENDSTATE2ACTION $STATE2PROP(BEG.CORRESPONDENT_ID) state=BEG prop=CORRESPONDENT_ID enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(BEG.DATE_B) state=BEG prop=DATE_B enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(BEG.DATE_E) state=BEG prop=DATE_E enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(BEG.DEPO_DOC_TYPE) state=BEG prop=DEPO_DOC_TYPE enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(BEG.DOCUMENT_FORM_ID) state=BEG prop=DOCUMENT_FORM_ID enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(BEG.DOC_COMMENT) state=BEG prop=DOC_COMMENT enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(BEG.FOLDER_ID) state=BEG prop=FOLDER_ID enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(BEG.INITIATOR_ID) state=BEG prop=INITIATOR_ID enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(BEG.IN_DATE) state=BEG prop=IN_DATE enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(BEG.IN_NO) state=BEG prop=IN_NO enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(BEG.OUT_DATE) state=BEG prop=OUT_DATE enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(BEG.OUT_NO) state=BEG prop=OUT_NO enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(BEG.OWNER_ID) state=BEG prop=OWNER_ID enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(BEG.PAYER_ID) state=BEG prop=PAYER_ID enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(BEG.PAY_SUM) state=BEG prop=PAY_SUM enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(BEG.RATE_PLACE_ID) state=BEG prop=RATE_PLACE_ID enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(BEG.REMARK) state=BEG prop=REMARK enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(BEG.STARTSREZ_ID) state=BEG prop=STARTSREZ_ID enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(BEG.SUM_CUR_ID) state=BEG prop=SUM_CUR_ID enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(BEG.WHO_GET) state=BEG prop=WHO_GET enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(BEG.WHO_PUT) state=BEG prop=WHO_PUT enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.DOC_COMMENT) state=CRT prop=DOC_COMMENT enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.CORRESPONDENT_ID) state=ED prop=CORRESPONDENT_ID enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.DATE_B) state=ED prop=DATE_B enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.DATE_E) state=ED prop=DATE_E enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.DEPO_DOC_TYPE) state=ED prop=DEPO_DOC_TYPE enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.DOCUMENT_FORM_ID) state=ED prop=DOCUMENT_FORM_ID enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.DOC_COMMENT) state=ED prop=DOC_COMMENT enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.FOLDER_ID) state=ED prop=FOLDER_ID enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.FOUNDATION_ID) state=ED prop=FOUNDATION_ID enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.INITIATOR_ID) state=ED prop=INITIATOR_ID enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.IN_DATE) state=ED prop=IN_DATE enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.IN_NO) state=ED prop=IN_NO enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.OUT_DATE) state=ED prop=OUT_DATE enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.OUT_NO) state=ED prop=OUT_NO enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.OWNER_ID) state=ED prop=OWNER_ID enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.PAYER_ID) state=ED prop=PAYER_ID enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.PAY_SUM) state=ED prop=PAY_SUM enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.RATE_PLACE_ID) state=ED prop=RATE_PLACE_ID enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.REMARK) state=ED prop=REMARK enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.STARTSREZ_ID) state=ED prop=STARTSREZ_ID enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.SUM_CUR_ID) state=ED prop=SUM_CUR_ID enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.WHO_GET) state=ED prop=WHO_GET enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(ED.WHO_PUT) state=ED prop=WHO_PUT enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $ENDDOC $DOC(PIF_SREZ_PORTFOLIO) name=Перечень портфеля для среза по ПИФ class=1 product=ALD_PIF name_formula=null remark_formula=null $STATE(CRT) name=Создан class=0 $ENDSTATE $STATE(DEL) name=Удален class=2 $ENDSTATE $STATE(NEW) name=Начальный class=1 $ENDSTATE $PROP(SREZ_ID) name=Срез field_name=srez_id table_name=tp_pif_srez_portfolio field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=1 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(STOCK_ID) name=ЦБ field_name=stock_id table_name=tp_pif_srez_portfolio field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=2 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(STOCK_QTY) name=Количество field_name=stock_qty table_name=tp_pif_srez_portfolio field_type=money field_length=8 field_scale=null field_prec=null page=1 order=3 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(STOCK_RATE) name=Котировка field_name=stock_rate table_name=tp_pif_srez_portfolio field_type=decimal field_length=9 field_scale=8 field_prec=18 page=1 order=4 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(STOCK_SUM) name=Оценочная стоимость field_name=stock_sum table_name=tp_pif_srez_portfolio field_type=money field_length=8 field_scale=null field_prec=null page=1 order=5 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(BAL_SUM) name=Балансовая стоимость field_name=bal_sum table_name=tp_pif_srez_portfolio field_type=money field_length=8 field_scale=null field_prec=null page=1 order=6 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(IS_RATE) name=Тип котировки field_name=is_rate table_name=tp_pif_srez_portfolio field_type=int field_length=4 field_scale=null field_prec=null page=1 order=7 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(COUPON_SUM) name=Сумма НКД field_name=coupon_sum table_name=tp_pif_srez_portfolio field_type=money field_length=8 field_scale=null field_prec=null page=1 order=8 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(COUPON_RATE) name=НКД на 1 ЦБ field_name=coupon_rate table_name=tp_pif_srez_portfolio field_type=decimal field_length=9 field_scale=8 field_prec=18 page=1 order=9 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(RATE_DATE) name=Дата котировки field_name=rate_date table_name=tp_pif_srez_portfolio field_type=datetime field_length=8 field_scale=null field_prec=null page=1 order=10 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $RELATION(REL1) class=0 type=td_stock_emis form=null prop=STOCK_ID idname=null order=null $ENDRELATION $RELATION(REL2) class=0 type=simples form=null prop=IS_RATE idname=null order=null $ENDRELATION $FORM(D_PIF_SRES_PORTFOLIO) name=Портфель class=4 filter=null target_state= uo=uo_list dw=d_pif_sres_portfolio procedure=ap_50630000000028952 patterns=GENERIC_VIEW_LIST user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364578) create procedure dbo.%PROC% @sid varchar(30) = null .ARGLIST_FILTER as declare @action_id numeric, @user_id numeric, @state_id numeric, @type_id numeric begin set nocount on select @action_id = %ACTION_ID% .CHECK_USER .CHECK_VIEW .ARGCONVERT_FILTER .VIEW_LIST end $ENDTEXT(14364578) $ACTION2RELATION(REL1.STOCK_CODE) relation=REL1 where=null prop=STOCK_CODE order=3 alias=stock_code $ENDACTION2RELATION $ACTION2RELATION(REL1.STOCK_NAME) relation=REL1 where=null prop=STOCK_NAME order=4 alias=stock_name $ENDACTION2RELATION $ACTION2RELATION(REL2.SIMPLE_NAME) relation=REL2 where=type_id=3040 prop=SIMPLE_NAME order=1 alias=rate_type_name $ENDACTION2RELATION $FILTER(SREZ_ID) type=11 label=Срез prop=SREZ_ID arg_code=null arg_type=null arg_length=null arg_prec=null arg_scale=null $ENDFILTER $ENDFORM $FORM(FORM1) name=Перечень отчета по прортфелю полный class=4 filter=null target_state= uo=null dw=null procedure=ap_pif_portfolio_rep_list patterns=GENERIC_VIEW_LIST user_define=1 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364580) create procedure dbo.%PROC% @sid varchar(30) = null as declare @id numeric, @action_id numeric, @user_id numeric, @state_id numeric, @type_id numeric begin set nocount on select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .CHECK_VIEW .ARGCONVERT_FILTER declare @activ_sum money select @activ_sum = (select activ_sum from tp_pif_srez where id = @id) if (@activ_sum is null) or (@activ_sum = 0) .EXIT_MESSAGE('В данном срезе не расчитана стоимость активов') select stock_id, stock_qty, stock_rate, stock_sum, bal_sum, coupon_rate, coupon_sum, round(convert(decimal(18,8),stock_sum)/@activ_sum,8) as scha_sum, td_stock_emis.stock_name from tp_pif_srez_portfolio, td_stock_emis where tp_pif_srez_portfolio.srez_id = @id and tp_pif_srez_portfolio.stock_id = td_stock_emis.id and .ITEMS_EXISTS(tp_pif_srez_portfolio.id) end $ENDTEXT(14364580) $ACTION2RELATION(REL1.STOCK_NAME) relation=REL1 where=null prop=STOCK_NAME order=4 alias=stock_name $ENDACTION2RELATION $ENDFORM $FORM(FORM2) name=Перечень отчета по портфелю брокерский class=4 filter=null target_state= uo=null dw=null procedure=ap_pif_portfolio_brok_list patterns=null user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364580) create procedure dbo.%PROC% @sid varchar(30) = null as declare @id numeric, @action_id numeric, @user_id numeric, @state_id numeric, @type_id numeric begin set nocount on select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .CHECK_VIEW .ARGCONVERT_FILTER declare @activ_sum decimal(18,8) select @activ_sum = (select activ_sum from tp_pif_srez where id = @id) if (@activ_sum is null) or (@activ_sum = 0) .EXIT_MESSAGE('В данном срезе не расчитана стоимость активов') /* select sum(stock_qty), sum(stock_rate), sum(stock_sum), sum(bal_sum), (sum(stock_sum)/@activ_sum * 100) as scha_sum, td_emitent_info.emi_name, t_simples.simple_name from tp_pif_srez_portfolio, td_stock_emis, td_emitent_info, t_simples where tp_pif_srez_portfolio.srez_id = @id and tp_pif_srez_portfolio.stock_id = td_stock_emis.id and td_stock_emis.emmitent_id = td_emitent_info.id and td_stock_emis.stock_type_id = t_simples.id and t_simples.type_id = 3029 and .ITEMS_EXISTS(tp_pif_srez_portfolio.id) group by td_emitent_info.emi_name, t_simples.simple_name */ select sum(stock_qty), sum(stock_rate), sum(stock_sum), sum(bal_sum), (sum(stock_sum)/@activ_sum) as scha_sum, td_stock_emis.stock_rate_code, '' from tp_pif_srez_portfolio, td_stock_emis where tp_pif_srez_portfolio.srez_id = @id and tp_pif_srez_portfolio.stock_id = td_stock_emis.id and .ITEMS_EXISTS(tp_pif_srez_portfolio.id) group by td_stock_emis.stock_rate_code end $ENDTEXT(14364580) $ENDFORM $FORM(D_PIF_SRES_PORTFOLIO_EDIT) name=Просмотр class=5 filter=null target_state= uo=uo_edit dw=d_pif_sres_portfolio_edit procedure=ap_60040000000000187 patterns=GENERIC_VIEW_ITEM user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364580) create procedure dbo.%PROC% @sid varchar(30) = null as declare @id numeric, @action_id numeric, @user_id numeric, @state_id numeric, @type_id numeric begin select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .CHECK_VIEW_ITEM if @id = -1 begin begin tran .GET_PROPS .CHECK_INSERT .INIT_VARS(B) .INSERT_ITEMS .INSERT commit tran end .VIEW_ITEM end $ENDTEXT(14364580) $ACTION2RELATION(REL1.STOCK_NAME) relation=REL1 where=null prop=STOCK_NAME order=null alias=stock_name $ENDACTION2RELATION $ACTION2RELATION(REL2.SIMPLE_NAME) relation=REL2 where=type_id=3040 prop=SIMPLE_NAME order=1 alias=rate_type_name $ENDACTION2RELATION $ENDFORM $ACTION(ACTION1) name=Добавить class=1 form=d_pif_sres_portfolio_edit target_state=CRT procedure=ap_60040000000000190 patterns=GENERIC_INSERT user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=2085 height=996 proc_text=$TEXT(14364580) create procedure dbo.%PROC% @sid varchar(30) = null, .ARGLIST as declare @action_id numeric, @id numeric, @user_id numeric, @state_id numeric, @type_id numeric, @item_name varchar(100), @new_state_id numeric begin begin tran select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .CHECK_UPDATE .ARGCONVERT .INIT_VARS .TEST_UNIQUE .UPDATE_ITEMS .UPDATE .RELGEN .UPDATE_STATE .ACTION_HISTORY commit tran select sid = convert(varchar, @id) end $ENDTEXT(14364580) $ENDACTION $ACTION(ACTION2) name=Изменить class=2 form=d_pif_sres_portfolio_edit target_state=null procedure=ap_60040000000000191 patterns=GENERIC_UPDATE user_define=1 isvisible=0 istab=0 posx=0 posy=0 width=2103 height=1012 proc_text=$TEXT(14364580) create procedure dbo.%PROC% @sid varchar(30) = null, .ARGLIST as declare @action_id numeric, @id numeric, @user_id numeric, @state_id numeric, @type_id numeric, @item_name varchar(100), @new_state_id numeric begin tran select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .CHECK_UPDATE .ARGCONVERT .TEST_UNIQUE .UPDATE_ITEMS /* Вычисление стоимости */ if isnull(@stock_rate,0)!=0 select @stock_sum = convert(money, (@stock_qty * @stock_rate)) if @stock_sum is null select @stock_sum = @bal_sum .UPDATE .RELGEN .UPDATE_STATE .ACTION_HISTORY commit tran $ENDTEXT(14364580) $ENDACTION $ACTION(ACTION3) name=Удалить class=3 form=d_pif_sres_portfolio_edit target_state=DEL procedure=ap_60040000000000192 patterns=GENERIC_MOVE user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=2075 height=1012 proc_text=$TEXT(14364580) 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 .UPDATE_STATE .ACTION_HISTORY /*-------Проводки ----------*/ commit tran $ENDTEXT(14364580) $ENDACTION $STATE2ACTION(CRT.ACTION2) state=CRT action=ACTION2 $ENDSTATE2ACTION $STATE2ACTION(CRT.ACTION3) state=CRT action=ACTION3 $ENDSTATE2ACTION $STATE2ACTION(CRT.D_PIF_SRES_PORTFOLIO) state=CRT action=D_PIF_SRES_PORTFOLIO $ENDSTATE2ACTION $STATE2ACTION(CRT.FORM1) state=CRT action=FORM1 $ENDSTATE2ACTION $STATE2ACTION(CRT.FORM2) state=CRT action=FORM2 $ENDSTATE2ACTION $STATE2ACTION(CRT.D_PIF_SRES_PORTFOLIO_EDIT) state=CRT action=D_PIF_SRES_PORTFOLIO_EDIT $ENDSTATE2ACTION $STATE2ACTION(NEW.ACTION1) state=NEW action=ACTION1 $ENDSTATE2ACTION $STATE2PROP(CRT.BAL_SUM) state=CRT prop=BAL_SUM enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.COUPON_RATE) state=CRT prop=COUPON_RATE enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.COUPON_SUM) state=CRT prop=COUPON_SUM enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.IS_RATE) state=CRT prop=IS_RATE enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.SREZ_ID) state=CRT prop=SREZ_ID enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.STOCK_ID) state=CRT prop=STOCK_ID enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.STOCK_QTY) state=CRT prop=STOCK_QTY enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.STOCK_RATE) state=CRT prop=STOCK_RATE enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.STOCK_SUM) state=CRT prop=STOCK_SUM enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.BAL_SUM) state=NEW prop=BAL_SUM enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.COUPON_SUM) state=NEW prop=COUPON_SUM enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.IS_RATE) state=NEW prop=IS_RATE enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.SREZ_ID) state=NEW prop=SREZ_ID enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.STOCK_ID) state=NEW prop=STOCK_ID enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.STOCK_QTY) state=NEW prop=STOCK_QTY enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.STOCK_RATE) state=NEW prop=STOCK_RATE enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $ENDDOC $DOC(PIF_SREZ_PARTNERS) name=Дебеторы-кредиторы по срезу ПИФ class=1 product=ALD_PIF name_formula=null remark_formula=null $STATE(CRT) name=Создан class=0 $ENDSTATE $STATE(NEW) name=Начальный class=1 $ENDSTATE $PROP(SREZ_ID) name=Срез field_name=srez_id table_name=tp_pif_srez_balance field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=1 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(ACC_ID) name=Код счета field_name=acc_id table_name=tp_pif_srez_balance field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=2 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(SALDO_DEB) name=Сумма дебет field_name=saldo_deb table_name=tp_pif_srez_balance field_type=money field_length=8 field_scale=null field_prec=null page=1 order=3 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(SALDO_CRED) name=Сумма кредит field_name=saldo_cred table_name=tp_pif_srez_balance field_type=money field_length=8 field_scale=null field_prec=null page=1 order=4 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(PARTNER_ID) name=Партнер field_name=partner_id table_name=tp_pif_srez_balance field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=5 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(FOUNDATION_ID) name=Документ основание field_name=foundation_id table_name=tp_pif_srez_balance field_type=numeric field_length=9 field_scale=0 field_prec=18 page=0 order=6 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(FOUNDATION_DATE) name=Дата документа основания field_name=foundation_date table_name=tp_pif_srez_balance field_type=datetime field_length=8 field_scale=null field_prec=null page=1 order=7 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(FOUNDATION_NO) name=Номер документа основания field_name=foundation_no table_name=tp_pif_srez_balance field_type=varchar field_length=100 field_scale=null field_prec=null page=1 order=8 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $RELATION(REL1) class=0 type=accounts form=null prop=ACC_ID idname=null order=null $ENDRELATION $RELATION(REL2) class=0 type=partners form=null prop=PARTNER_ID idname=null order=null $ENDRELATION $RELATION(REL3) class=0 type=items form=null prop=FOUNDATION_ID idname=null order=null $ENDRELATION $FORM(D_PIF_SREZ_PARTNERS_LIST) name=Дебеторы-кредиторы class=4 filter=null target_state= uo=uo_list dw=d_pif_srez_partners_list procedure=ap_50630000000028958 patterns=GENERIC_VIEW_LIST user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364580) create procedure dbo.%PROC% @sid varchar(30) = null .ARGLIST_FILTER as declare @action_id numeric, @user_id numeric, @state_id numeric, @type_id numeric begin set nocount on select @action_id = %ACTION_ID% .CHECK_USER .CHECK_VIEW .ARGCONVERT_FILTER .VIEW_LIST end $ENDTEXT(14364580) $ACTION2RELATION(REL1.ACC_NAME) relation=REL1 where=null prop=ACC_NAME order=3 alias=acc_name $ENDACTION2RELATION $ACTION2RELATION(REL1.ACC_NUM_EFF) relation=REL1 where=null prop=ACC_NUM_EFF order=8 alias=acc_num_eff $ENDACTION2RELATION $ACTION2RELATION(REL2.PARTNER_CODE) relation=REL2 where=null prop=PARTNER_CODE order=1 alias=partner_code $ENDACTION2RELATION $ACTION2RELATION(REL2.PARTNER_SHORT_NAME) relation=REL2 where=null prop=PARTNER_SHORT_NAME order=4 alias=partner_short_name $ENDACTION2RELATION $ACTION2RELATION(REL3.ITEM_REMARK) relation=REL3 where=null prop=ITEM_REMARK order=null alias=foundation_remark $ENDACTION2RELATION $FILTER(SREZ_ID) type=11 label=Срез prop=SREZ_ID arg_code=null arg_type=null arg_length=null arg_prec=null arg_scale=null $ENDFILTER $ENDFORM $FORM(FORM1) name=Перечень отчета о деб-кред class=4 filter=null target_state= uo=null dw=null procedure=ap_pif_partners_rep_list patterns=GENERIC_VIEW_ITEM user_define=1 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364580) create procedure dbo.%PROC% @sid varchar(30) = null as declare @id numeric, @action_id numeric, @user_id numeric, @state_id numeric, @type_id numeric begin select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER create table #report( deb_or_cred int null, acc_id numeric null, partner_id numeric null, saldo_sum money null, foundation_date datetime null, foundation_no varchar(100) null ) insert into #report( deb_or_cred, acc_id, partner_id, saldo_sum, foundation_date, foundation_no ) select 1, tp_pif_srez_balance.acc_id, tp_pif_srez_balance.partner_id, tp_pif_srez_balance.saldo_deb, tp_pif_srez_balance.foundation_date, tp_pif_srez_balance.foundation_no from tp_pif_srez_balance where tp_pif_srez_balance.srez_id = @id and tp_pif_srez_balance.saldo_deb > 0 and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_partners') insert into #report( deb_or_cred, acc_id, partner_id, saldo_sum, foundation_date, foundation_no ) select -1, tp_pif_srez_balance.acc_id, tp_pif_srez_balance.partner_id, tp_pif_srez_balance.saldo_cred, tp_pif_srez_balance.foundation_date, tp_pif_srez_balance.foundation_no from tp_pif_srez_balance where tp_pif_srez_balance.srez_id = @id and tp_pif_srez_balance.saldo_cred > 0 and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_partners') /* Расчеты с бюджетом */ declare @acc68_id numeric declare @sum money declare @fund_plan_id numeric declare @srez_date datetime, @fond_id numeric select @srez_date=srez_date, @fond_id=fond_id from tp_pif_srez where id=@id .PIF_PLAN_ID(@srez_date,@fond_id,@fund_plan_id) --select @fund_plan_id = .ARG_PLAN('PIF_ACCOUNT') select @acc68_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'68') select @sum = isnull((select sum(saldo_cred) - sum(saldo_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.68.%'), 0) if @sum > 0 insert into #report( deb_or_cred, acc_id, partner_id, saldo_sum, foundation_date, foundation_no ) values( -1, @acc68_id, null, @sum, null, null ) else insert into #report( deb_or_cred, acc_id, partner_id, saldo_sum, foundation_date, foundation_no ) values( 1, @acc68_id, null, -1 * @sum, null, null ) select #report.deb_or_cred, convert(varchar(30),#report.acc_id) as acc_id, #report.partner_id, #report.saldo_sum, t_accounts.acc_name, t_partners.partner_short_name, #report.foundation_date, #report.foundation_no from #report, t_accounts, t_partners where #report.acc_id *= t_accounts.id and #report.partner_id *= t_partners.id end $ENDTEXT(14364580) $ENDFORM $STATE2ACTION(CRT.D_PIF_SREZ_PARTNERS_LIST) state=CRT action=D_PIF_SREZ_PARTNERS_LIST $ENDSTATE2ACTION $ENDDOC $DOC(PIF_SREZ_BALANCE) name=Остатки по срезу ПИФ class=1 product=ALD_PIF name_formula=null remark_formula=null $STATE(CRT) name=Создан class=0 $ENDSTATE $STATE(NEW) name=Начальный class=1 $ENDSTATE $PROP(SREZ_ID) name=Срез field_name=srez_id table_name=tp_pif_srez_balance field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=1 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(ACC_ID) name=Код счета field_name=acc_id table_name=tp_pif_srez_balance field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=2 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(SALDO_DEB) name=Сумма дебет field_name=saldo_deb table_name=tp_pif_srez_balance field_type=money field_length=8 field_scale=null field_prec=null page=1 order=3 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(SALDO_CRED) name=Сумма кредит field_name=saldo_cred table_name=tp_pif_srez_balance field_type=money field_length=8 field_scale=null field_prec=null page=1 order=4 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(OBOR_DEB) name=Обороты по дебету field_name=obor_deb table_name=tp_pif_srez_balance field_type=money field_length=8 field_scale=null field_prec=null page=1 order=5 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(OBOR_CRED) name=Обороты по кредиту field_name=obor_cred table_name=tp_pif_srez_balance field_type=money field_length=8 field_scale=null field_prec=null page=1 order=6 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $RELATION(REL1) class=0 type=accounts form=null prop=ACC_ID idname=null order=null $ENDRELATION $FORM(D_PIF_SREZ_BALANCE_EDIT) name=Редактор class=5 filter=null target_state= uo=uo_edit dw=d_pif_srez_balance_edit procedure=ap_60150000000010867 patterns=GENERIC_VIEW_ITEM user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364580) create procedure dbo.%PROC% @sid varchar(30) = null as declare @id numeric, @action_id numeric, @user_id numeric, @state_id numeric, @type_id numeric begin select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .CHECK_VIEW_ITEM if @id = -1 begin begin tran .GET_PROPS .CHECK_INSERT .INIT_VARS(B) .INSERT_ITEMS .INSERT commit tran end .VIEW_ITEM end $ENDTEXT(14364580) $ACTION2RELATION(REL1.ACC_NAME) relation=REL1 where=null prop=ACC_NAME order=7 alias=acc_name $ENDACTION2RELATION $ACTION2RELATION(REL1.ACC_NUM_EFF) relation=REL1 where=null prop=ACC_NUM_EFF order=9 alias=acc_num_eff $ENDACTION2RELATION $CALC(PLAN_ID_S) class=1 type=varchar calc_lenght=30 calc_prec=null calc_scale=null formula=$TEXT(14364580) (select t_plans.id from t_plans,t_items,t_states where rtrim(ltrim(UPPER(t_plans.plan_code)))='PIF_ACCOUNT' and t_plans.id=t_items.id and t_items.state_id=t_states.id and t_states.class_id =0) $ENDTEXT(14364580) label=План счетов order=null $ENDCALC $ENDFORM $FORM(D_PIF_SREZ_BALANCE_LIST) name=Остатки по счетам class=4 filter=null target_state= uo=uo_list dw=d_pif_srez_balance_list procedure=ap_50630000000028955 patterns=GENERIC_VIEW_LIST user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364580) create procedure dbo.%PROC% @sid varchar(30) = null .ARGLIST_FILTER as declare @action_id numeric, @user_id numeric, @state_id numeric, @type_id numeric begin set nocount on select @action_id = %ACTION_ID% .CHECK_USER .CHECK_VIEW .ARGCONVERT_FILTER .VIEW_LIST end $ENDTEXT(14364580) $ACTION2RELATION(REL1.ACC_NAME) relation=REL1 where=null prop=ACC_NAME order=3 alias=acc_name $ENDACTION2RELATION $ACTION2RELATION(REL1.ACC_NUM_EFF) relation=REL1 where=null prop=ACC_NUM_EFF order=8 alias=acc_num_eff $ENDACTION2RELATION $FILTER(SREZ_ID) type=11 label=Срез prop=SREZ_ID arg_code=null arg_type=null arg_length=null arg_prec=null arg_scale=null $ENDFILTER $ENDFORM $ACTION(D_PIF_SREZ_BALANCE_INSERT) name=Добавить class=1 form=D_PIF_SREZ_BALANCE_EDIT target_state=CRT procedure=ap_60150000000010872 patterns=GENERIC_INSERT user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=2062 height=712 proc_text=$TEXT(14364580) create procedure dbo.%PROC% @sid varchar(30) = null, .ARGLIST as declare @action_id numeric, @id numeric, @user_id numeric, @state_id numeric, @type_id numeric, @item_name varchar(100), @new_state_id numeric begin begin tran select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .CHECK_UPDATE .ARGCONVERT .INIT_VARS .TEST_UNIQUE .UPDATE_ITEMS .UPDATE .RELGEN .UPDATE_STATE .ACTION_HISTORY commit tran select sid = convert(varchar, @id) end $ENDTEXT(14364580) $ENDACTION $ACTION(D_PIF_SREZ_BALANCE_UPDATE) name=Изменить class=2 form=D_PIF_SREZ_BALANCE_EDIT target_state=null procedure=ap_60150000000010873 patterns=GENERIC_UPDATE user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=2062 height=712 proc_text=$TEXT(14364580) create procedure dbo.%PROC% @sid varchar(30) = null, .ARGLIST as declare @action_id numeric, @id numeric, @user_id numeric, @state_id numeric, @type_id numeric, @item_name varchar(100), @new_state_id numeric begin tran select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .CHECK_UPDATE .ARGCONVERT .TEST_UNIQUE .UPDATE_ITEMS .UPDATE .RELGEN .UPDATE_STATE .ACTION_HISTORY commit tran $ENDTEXT(14364580) $ENDACTION $STATE2ACTION(CRT.D_PIF_SREZ_BALANCE_EDIT) state=CRT action=D_PIF_SREZ_BALANCE_EDIT $ENDSTATE2ACTION $STATE2ACTION(CRT.D_PIF_SREZ_BALANCE_LIST) state=CRT action=D_PIF_SREZ_BALANCE_LIST $ENDSTATE2ACTION $STATE2ACTION(CRT.D_PIF_SREZ_BALANCE_UPDATE) state=CRT action=D_PIF_SREZ_BALANCE_UPDATE $ENDSTATE2ACTION $STATE2ACTION(NEW.D_PIF_SREZ_BALANCE_INSERT) state=NEW action=D_PIF_SREZ_BALANCE_INSERT $ENDSTATE2ACTION $STATE2PROP(CRT.ACC_ID) state=CRT prop=ACC_ID enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.SALDO_CRED) state=CRT prop=SALDO_CRED enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.SALDO_DEB) state=CRT prop=SALDO_DEB enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.SREZ_ID) state=CRT prop=SREZ_ID enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.ACC_ID) state=NEW prop=ACC_ID enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.SALDO_CRED) state=NEW prop=SALDO_CRED enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.SALDO_DEB) state=NEW prop=SALDO_DEB enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.SREZ_ID) state=NEW prop=SREZ_ID enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $ENDDOC $DOC(PIF_SREZ_ADD_INFO) name=Дополнительная информация в срезе ПИФ class=1 product=ALD_PIF name_formula=null remark_formula=null $STATE(CRT) name=Создан class=0 $ENDSTATE $STATE(DEL) name=Удален class=2 $ENDSTATE $STATE(NEW) name=Начальный class=1 $ENDSTATE $PROP(SREZ_ID) name=Срез field_name=srez_id table_name=tp_pif_srez_add_info field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=1 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(ROW_CODE) name=Код пункта field_name=row_code table_name=tp_pif_srez_add_info field_type=varchar field_length=50 field_scale=null field_prec=null page=1 order=2 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(ROW_NAME) name=Наименование пункта field_name=row_name table_name=tp_pif_srez_add_info field_type=varchar field_length=255 field_scale=null field_prec=null page=1 order=3 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(ROW_SUM) name=Сумма field_name=row_sum table_name=tp_pif_srez_add_info field_type=money field_length=8 field_scale=null field_prec=null page=1 order=4 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(ROW_QTY) name=Количество field_name=row_qty table_name=tp_pif_srez_add_info field_type=decimal field_length=9 field_scale=8 field_prec=18 page=1 order=5 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $FORM(PIF_SREZ_ADD_INFO_LIST) name=Доп. показатели class=4 filter=null target_state= uo=uo_list dw=d_pif_srez_add_info_list procedure=ap_60360000002725477 patterns=GENERIC_VIEW_LIST user_define=0 isvisible=1 istab=1 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364581) create procedure dbo.%PROC% @sid varchar(30) = null .ARGLIST_FILTER as declare @action_id numeric, @user_id numeric, @state_id numeric, @type_id numeric begin set nocount on select @action_id = %ACTION_ID% .CHECK_USER .CHECK_VIEW .ARGCONVERT_FILTER .VIEW_LIST end $ENDTEXT(14364581) $FILTER(SREZ_ID) type=11 label=Срез prop=SREZ_ID arg_code=null arg_type=null arg_length=null arg_prec=null arg_scale=null $ENDFILTER $ENDFORM $FORM(PIF_SREZ_ADD_INFO_VIEW) name=Просмотр class=5 filter=null target_state= uo=uo_edit dw=d_pif_srez_add_info_edit procedure=ap_60360000002725479 patterns=GENERIC_VIEW_ITEM user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364581) create procedure dbo.%PROC% @sid varchar(30) = null as .BEGIN('N') .CHECK_USER .CHECK_VIEW_ITEM if @id = -1 begin begin tran .GET_PROPS .CHECK_INSERT .INIT_VARS(B) .INSERT_ITEMS .INSERT commit tran end .VIEW_ITEM .END $ENDTEXT(14364581) $ENDFORM $ACTION(ADD_ROW) name=Добавить class=1 form=PIF_SREZ_ADD_INFO_VIEW target_state=CRT procedure=ap_60360000002725480 patterns=GENERIC_INSERT user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=2304 height=700 proc_text=$TEXT(14364581) create procedure dbo.%PROC% @sid varchar(30) = null, .ARGLIST as .BEGIN('N') .CHECK_USER .CHECK_UPDATE .ARGCONVERT .INIT_VARS .TEST_UNIQUE begin tran .UPDATE_ITEMS .UPDATE .RELGEN .UPDATE_STATE .ACTION_HISTORY commit tran select sid = convert(varchar, @id) .END $ENDTEXT(14364581) $ENDACTION $ACTION(DEL_ROW) name=Удалить class=3 form=PIF_SREZ_ADD_INFO_VIEW target_state=DEL procedure=ap_60360000002725481 patterns=GENERIC_MOVE user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364581) create procedure dbo.%PROC% @sid varchar(30) = null as .BEGIN('N') .CHECK_USER .CHECK_UPDATE begin tran .UPDATE_STATE .ACTION_HISTORY /*-------Проводки ----------*/ commit tran .END $ENDTEXT(14364581) $ENDACTION $ACTION(EDIT_ROW) name=Изменить class=2 form=PIF_SREZ_ADD_INFO_VIEW target_state=CRT procedure=ap_60360000002725482 patterns=GENERIC_UPDATE user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=2286 height=692 proc_text=$TEXT(14364581) create procedure dbo.%PROC% @sid varchar(30) = null, .ARGLIST as .BEGIN('N') .CHECK_USER .CHECK_UPDATE .ARGCONVERT .TEST_UNIQUE begin tran .UPDATE_ITEMS .UPDATE .RELGEN .UPDATE_STATE .ACTION_HISTORY commit tran .END $ENDTEXT(14364581) $ENDACTION $STATE2ACTION(CRT.DEL_ROW) state=CRT action=DEL_ROW $ENDSTATE2ACTION $STATE2ACTION(CRT.EDIT_ROW) state=CRT action=EDIT_ROW $ENDSTATE2ACTION $STATE2ACTION(CRT.PIF_SREZ_ADD_INFO_LIST) state=CRT action=PIF_SREZ_ADD_INFO_LIST $ENDSTATE2ACTION $STATE2ACTION(CRT.PIF_SREZ_ADD_INFO_VIEW) state=CRT action=PIF_SREZ_ADD_INFO_VIEW $ENDSTATE2ACTION $STATE2ACTION(NEW.ADD_ROW) state=NEW action=ADD_ROW $ENDSTATE2ACTION $STATE2PROP(CRT.ROW_QTY) state=CRT prop=ROW_QTY enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.ROW_SUM) state=CRT prop=ROW_SUM enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.ROW_CODE) state=NEW prop=ROW_CODE enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.ROW_NAME) state=NEW prop=ROW_NAME enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.ROW_QTY) state=NEW prop=ROW_QTY enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.ROW_SUM) state=NEW prop=ROW_SUM enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $ENDDOC $DOC(PIF_SREZ_ACCOUNTS) name=Перечень прочих активов, депозитов с разбивой по счетам для ПИФ class=1 product=ALD_PIF name_formula=null remark_formula=null $STATE(CRT) name=Создан class=0 $ENDSTATE $STATE(DEL) name=Удален class=2 $ENDSTATE $STATE(NEW) name=Начальный class=1 $ENDSTATE $PROP(SREZ_ID) name=Срез field_name=srez_id table_name=tp_pif_srez_portfolio field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=1 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(STOCK_ID) name=ЦБ field_name=stock_id table_name=tp_pif_srez_portfolio field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=2 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(STOCK_QTY) name=Количество field_name=stock_qty table_name=tp_pif_srez_portfolio field_type=money field_length=8 field_scale=null field_prec=null page=1 order=3 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(STOCK_RATE) name=Курс field_name=stock_rate table_name=tp_pif_srez_portfolio field_type=decimal field_length=9 field_scale=8 field_prec=18 page=1 order=4 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(STOCK_SUM) name=Сумма по бумаге field_name=stock_sum table_name=tp_pif_srez_portfolio field_type=money field_length=8 field_scale=null field_prec=null page=1 order=5 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(BAL_SUM) name=Балансовая стоимость field_name=bal_sum table_name=tp_pif_srez_portfolio field_type=money field_length=8 field_scale=null field_prec=null page=1 order=6 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(IS_RATE) name=Признак котируемости field_name=is_rate table_name=tp_pif_srez_portfolio field_type=int field_length=4 field_scale=null field_prec=null page=1 order=7 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(CTRL_COMP_ID) name=Управляющая компания field_name=ctrl_comp_id table_name=tp_pif_srez_portfolio field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=9 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(ACC_ID) name=Счет field_name=acc_id table_name=tp_pif_srez_portfolio field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=8 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $RELATION(REL1) class=0 type=items form=null prop=STOCK_ID idname=null order=null $ENDRELATION $RELATION(REL2) class=0 type=partners_jur form=null prop=CTRL_COMP_ID idname=null order=null $ENDRELATION $RELATION(REL3) class=0 type=accounts form=null prop=ACC_ID idname=null order=null $ENDRELATION $FORM(D_NPF_SRES_ACCOUNTS) name=Прочие активы, депозиты, ДС class=4 filter=null target_state= uo=uo_list dw=d_npf_sres_accounts procedure=ap_60100000000001439 patterns=GENERIC_VIEW_LIST user_define=1 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364581) create procedure dbo.%PROC% @sid varchar(30) = null .ARGLIST_FILTER as declare @action_id numeric, @user_id numeric, @state_id numeric, @type_id numeric begin set nocount on select @action_id = %ACTION_ID% .CHECK_USER .CHECK_VIEW .ARGCONVERT_FILTER .VIEW_LIST order by acc_num_eff end $ENDTEXT(14364581) $ACTION2RELATION(REL1.ITEM_NAME) relation=REL1 where=null prop=ITEM_NAME order=null alias=object_name $ENDACTION2RELATION $ACTION2RELATION(REL2.PARTNER_SHORT_NAME) relation=REL2 where=null prop=PARTNER_SHORT_NAME order=null alias=partner_short_name $ENDACTION2RELATION $ACTION2RELATION(REL3.ACC_NAME) relation=REL3 where=null prop=ACC_NAME order=null alias=acc_name $ENDACTION2RELATION $ACTION2RELATION(REL3.ACC_NUM_EFF) relation=REL3 where=null prop=ACC_NUM_EFF order=null alias=acc_num_eff $ENDACTION2RELATION $FILTER(SREZ_ID) type=11 label=Срез prop=SREZ_ID arg_code=null arg_type=null arg_length=null arg_prec=null arg_scale=null $ENDFILTER $ENDFORM $FORM(D_NPF_SRES_ACCOUNTS_EDIT) name=Редактор class=5 filter=null target_state= uo=uo_edit dw=d_npf_sres_accounts_edit procedure=ap_60100000000001443 patterns=GENERIC_VIEW_ITEM user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364581) create procedure dbo.%PROC% @sid varchar(30) = null as declare @id numeric, @action_id numeric, @user_id numeric, @state_id numeric, @type_id numeric begin select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .CHECK_VIEW_ITEM if @id = -1 begin begin tran .GET_PROPS .CHECK_INSERT .INIT_VARS(B) .INSERT_ITEMS .INSERT commit tran end .VIEW_ITEM end $ENDTEXT(14364581) $ACTION2RELATION(REL1.ITEM_NAME) relation=REL1 where=null prop=ITEM_NAME order=null alias=object_name $ENDACTION2RELATION $ACTION2RELATION(REL3.ACC_NAME) relation=REL3 where=null prop=ACC_NAME order=null alias=acc_name $ENDACTION2RELATION $ACTION2RELATION(REL3.ACC_NUM_EFF) relation=REL3 where=null prop=ACC_NUM_EFF order=null alias=acc_num_eff $ENDACTION2RELATION $ACTION2RELATION(REL2.PARTNER_SHORT_NAME) relation=REL2 where=null prop=PARTNER_SHORT_NAME order=null alias=partner_short_name $ENDACTION2RELATION $CALC(PLAN_ID_S) class=1 type=varchar calc_lenght=30 calc_prec=18 calc_scale=null formula=$TEXT(14364581) (select t_plans.id from t_plans,t_items,t_states where rtrim(ltrim(UPPER(t_plans.plan_code)))='PIF_ACCOUNT' and t_plans.id=t_items.id and t_items.state_id=t_states.id and t_states.class_id =0) $ENDTEXT(14364581) label=null order=null $ENDCALC $ENDFORM $ACTION(ACTION1) name=Добавить class=1 form=d_npf_sres_accounts_edit target_state=CRT procedure=ap_60100000000001444 patterns=GENERIC_INSERT user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364581) create procedure dbo.%PROC% @sid varchar(30) = null, .ARGLIST as declare @action_id numeric, @id numeric, @user_id numeric, @state_id numeric, @type_id numeric, @item_name varchar(100), @new_state_id numeric begin begin tran select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .CHECK_UPDATE .ARGCONVERT .INIT_VARS .TEST_UNIQUE /* Вычисление стоимости */ /*select stock_sum = @stock_qty * @stock_rate if @stock_sum is null select @stock_sum = @bal_sum*/ .UPDATE_ITEMS .UPDATE .RELGEN .UPDATE_STATE .ACTION_HISTORY commit tran select sid = convert(varchar, @id) end $ENDTEXT(14364581) $ENDACTION $ACTION(ACTION2) name=Изменить class=2 form=d_npf_sres_accounts_edit target_state=null procedure=ap_60100000000001445 patterns=GENERIC_UPDATE user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=2089 height=1016 proc_text=$TEXT(14364581) create procedure dbo.%PROC% @sid varchar(30) = null, .ARGLIST as declare @action_id numeric, @id numeric, @user_id numeric, @state_id numeric, @type_id numeric, @item_name varchar(100), @new_state_id numeric begin tran select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .CHECK_UPDATE .ARGCONVERT .TEST_UNIQUE .UPDATE_ITEMS /* Вычисление стоимости */ /*select stock_sum = @stock_qty * @stock_rate if @stock_sum is null select @stock_sum = @bal_sum*/ .UPDATE .RELGEN .UPDATE_STATE .ACTION_HISTORY commit tran $ENDTEXT(14364581) $ENDACTION $ACTION(ACTION3) name=Удалить class=3 form=d_npf_sres_accounts_edit target_state=DEL procedure=ap_60100000000001446 patterns=GENERIC_MOVE user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364581) 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 .UPDATE_STATE .ACTION_HISTORY /*-------Проводки ----------*/ commit tran $ENDTEXT(14364581) $ENDACTION $STATE2ACTION(CRT.ACTION2) state=CRT action=ACTION2 $ENDSTATE2ACTION $STATE2ACTION(CRT.ACTION3) state=CRT action=ACTION3 $ENDSTATE2ACTION $STATE2ACTION(CRT.D_NPF_SRES_ACCOUNTS) state=CRT action=D_NPF_SRES_ACCOUNTS $ENDSTATE2ACTION $STATE2ACTION(CRT.D_NPF_SRES_ACCOUNTS_EDIT) state=CRT action=D_NPF_SRES_ACCOUNTS_EDIT $ENDSTATE2ACTION $STATE2ACTION(NEW.ACTION1) state=NEW action=ACTION1 $ENDSTATE2ACTION $STATE2PROP(CRT.ACC_ID) state=CRT prop=ACC_ID enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.BAL_SUM) state=CRT prop=BAL_SUM enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.CTRL_COMP_ID) state=CRT prop=CTRL_COMP_ID enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.IS_RATE) state=CRT prop=IS_RATE enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.SREZ_ID) state=CRT prop=SREZ_ID enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.STOCK_ID) state=CRT prop=STOCK_ID enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.STOCK_QTY) state=CRT prop=STOCK_QTY enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.STOCK_RATE) state=CRT prop=STOCK_RATE enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.STOCK_SUM) state=CRT prop=STOCK_SUM enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.ACC_ID) state=NEW prop=ACC_ID enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.BAL_SUM) state=NEW prop=BAL_SUM enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.IS_RATE) state=NEW prop=IS_RATE enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.SREZ_ID) state=NEW prop=SREZ_ID enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.STOCK_ID) state=NEW prop=STOCK_ID enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.STOCK_QTY) state=NEW prop=STOCK_QTY enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $STATE2PROP(NEW.STOCK_RATE) state=NEW prop=STOCK_RATE enable=1 mandatory=1 visible=1 $ENDSTATE2PROP $ENDDOC $DOC(PIF_SREZ) name=Срез для ПИФ class=1 product=ALD_PIF name_formula=@remark remark_formula=@remark $STATE(CRT) name=Создан class=0 $ENDSTATE $STATE(END) name=Итоговый за день class=0 $ENDSTATE $STATE(END_YEAR) name=Итоговый за год class=0 $ENDSTATE $STATE(NEW) name=Начальный class=1 $ENDSTATE $PROP(SREZ_DATE) name=Конечная дата field_name=srez_date table_name=tp_pif_srez field_type=datetime field_length=8 field_scale=null field_prec=null page=1 order=1 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(FOND_ID) name=Фонд field_name=fond_id table_name=tp_pif_srez field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=4 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(REMARK) name=Комментарий field_name=remark table_name=tp_pif_srez field_type=varchar field_length=255 field_scale=null field_prec=null page=1 order=5 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(STOCK_PRICE) name=Цена пая field_name=stock_price table_name=tp_pif_srez field_type=money field_length=8 field_scale=null field_prec=null page=1 order=6 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(STOCK_QTY) name=Количество паев field_name=stock_qty table_name=tp_pif_srez field_type=decimal field_length=9 field_scale=8 field_prec=18 page=1 order=7 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(ACTIV_SUM) name=Стоимость активов field_name=activ_sum table_name=tp_pif_srez field_type=money field_length=8 field_scale=null field_prec=null page=1 order=8 init_class=0 init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(SCHA_SUM) name=Стоимость чистых активов field_name=scha_sum table_name=tp_pif_srez field_type=money field_length=8 field_scale=null field_prec=null page=1 order=9 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(QUERY_ID) name=Запрос на срез field_name=query_id table_name=tp_pif_srez field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=10 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(SREZ_DATE_B) name=Дата начальная для оборотов field_name=srez_date_b table_name=tp_pif_srez field_type=datetime field_length=8 field_scale=null field_prec=null page=1 order=3 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $PROP(STARTSREZ_ID) name=Начальный срез field_name=startsrez_id table_name=tp_pif_srez field_type=numeric field_length=9 field_scale=0 field_prec=18 page=1 order=2 init_class=null init_formula=null unique_index=null numerator=null import_type=null import_table=null import_field=null import_where=null ref_table=null ref_key=null ref_display=null ref_alias=null ref_where=null $ENDPROP $RELATION(REL6) class=1 type=PIF_SREZ_ACCOUNTS form=d_npf_sres_accounts prop=null idname=srez_id_s order=5 $ENDRELATION $RELATION(REL2) class=0 type=pif_fund form=null prop=FOND_ID idname=null order=null $ENDRELATION $RELATION(REL3) class=1 type=PIF_SREZ_PORTFOLIO form=D_PIF_SRES_PORTFOLIO prop=null idname=srez_id_s order=2 $ENDRELATION $RELATION(REL4) class=1 type=PIF_SREZ_BALANCE form=D_PIF_SREZ_BALANCE_LIST prop=null idname=srez_id_s order=3 $ENDRELATION $RELATION(REL1) class=1 type=PIF_SREZ_PARTNERS form=D_PIF_SREZ_PARTNERS_LIST prop=null idname=null order=4 $ENDRELATION $RELATION(REL7) class=0 type=PIF_SREZ form=null prop=STARTSREZ_ID idname=null order=null $ENDRELATION $RELATION(REL5) class=1 type=sd_reports form=FORM2 prop=null idname=foundation_id_s order=100 $ENDRELATION $RELATION(REL8) class=1 type=ASSET_STRUCTURE_DIV_LIST form=D_ASSET_STRUCTURE_DIV_LIST prop=null idname=report_id_s order=110 $ENDRELATION $RELATION(REL9) class=1 type=PIF_SREZ_ADD_INFO form=PIF_SREZ_ADD_INFO_LIST prop=null idname=srez_id_s order=6 $ENDRELATION $FORM(D_PIF_PARTNER2DEAL_REP) name=Отчет о дебиторских и кредиторских задолженностях по сделкам class=5 filter=null target_state= uo=uo_print dw=d_pif_partner2deal_rep procedure=ap_60165000000218556 patterns=null user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) create procedure dbo.%PROC% @sid varchar(30) = null as declare @id numeric, @action_id numeric, @user_id numeric, @state_id numeric, @type_id numeric, @type_id_s varchar(30), @new_state_id numeric, @state_name_id_s varchar(30) begin select @id = convert(numeric, @sid) select @action_id = %ACTION_ID% select @type_id_s = NULL select @state_name_id_s = NULL .CHECK_USER .CHECK_VIEW select sid = convert(varchar, tp_pif_srez.id), ctrl.partner_name as depo_name, tp_pif_srez.srez_date as srez_date_d, fond.partner_name as fond_name from tp_pif_srez, t_partners fond, td_pay_fond, t_partners ctrl where tp_pif_srez.id = @id and tp_pif_srez.fond_id = fond.id and tp_pif_srez.fond_id = td_pay_fond.id and ctrl.id = td_pay_fond.ctrl_comp_id end $ENDTEXT(14364583) $ENDFORM $FORM(D_PIF_PARTNERS_REPORT) name=Отчет о дебиторских и кредиторских задолженностях class=5 filter=null target_state= uo=uo_print dw=d_pif_partners_report procedure=ap_50630000000028961 patterns=null user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) create procedure dbo.%PROC% @sid varchar(30) = null as declare @id numeric, @action_id numeric, @user_id numeric, @state_id numeric, @type_id numeric, @type_id_s varchar(30), @new_state_id numeric, @state_name_id_s varchar(30) begin select @id = convert(numeric, @sid) select @action_id = %ACTION_ID% select @type_id_s = NULL select @state_name_id_s = NULL .CHECK_USER .CHECK_VIEW select sid = convert(varchar, tp_pif_srez.id), ctrl.partner_name as depo_name, tp_pif_srez.srez_date as srez_date_d, fond.partner_name as fond_name from tp_pif_srez, t_partners fond, td_pay_fond, t_partners ctrl where tp_pif_srez.id = @id and tp_pif_srez.fond_id = fond.id and tp_pif_srez.fond_id = td_pay_fond.id and ctrl.id = td_pay_fond.ctrl_comp_id end $ENDTEXT(14364583) $ENDFORM $FORM(D_PIF_PORTFOLIO_BROK) name=Отчет по портфелю краткий class=5 filter=null target_state= uo=uo_print dw=d_pif_portfolio_brok procedure=ap_50630000000028963 patterns=null user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) create procedure dbo.%PROC% @sid varchar(30) = null as declare @id numeric, @action_id numeric, @user_id numeric, @state_id numeric, @type_id numeric, @type_id_s varchar(30), @new_state_id numeric, @state_name_id_s varchar(30) begin select @id = convert(numeric, @sid) select @action_id = %ACTION_ID% select @type_id_s = NULL select @state_name_id_s = NULL .CHECK_USER .CHECK_VIEW select sid = convert(varchar, tp_pif_srez.id), ctrl.partner_name as depo_name, tp_pif_srez.srez_date as srez_date_d, fond.partner_name as fond_name from tp_pif_srez, t_partners fond, td_pay_fond, t_partners ctrl where tp_pif_srez.id = @id and tp_pif_srez.fond_id = fond.id and tp_pif_srez.fond_id = td_pay_fond.id and ctrl.id = td_pay_fond.ctrl_comp_id end $ENDTEXT(14364583) $ENDFORM $FORM(D_PIF_PORTFOLIO_REPORT) name=Отчет по портфелю полный class=5 filter=null target_state= uo=uo_print dw=d_pif_portfolio_report procedure=ap_50630000000028962 patterns=null user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) create procedure dbo.%PROC% @sid varchar(30) = null as declare @id numeric, @action_id numeric, @user_id numeric, @state_id numeric, @type_id numeric, @type_id_s varchar(30), @new_state_id numeric, @state_name_id_s varchar(30) begin select @id = convert(numeric, @sid) select @action_id = %ACTION_ID% select @type_id_s = NULL select @state_name_id_s = NULL .CHECK_USER .CHECK_VIEW select sid = convert(varchar, tp_pif_srez.id), ctrl.partner_name as depo_name, tp_pif_srez.srez_date as srez_date_d, fond.partner_name as fond_name from tp_pif_srez, t_partners fond, td_pay_fond, t_partners ctrl where tp_pif_srez.id = @id and tp_pif_srez.fond_id = fond.id and tp_pif_srez.fond_id = td_pay_fond.id and ctrl.id = td_pay_fond.ctrl_comp_id end $ENDTEXT(14364583) $ENDFORM $FORM(D_PIF_SREZ_EDIT) name=Просмотр class=5 filter=null target_state= uo=uo_edit dw=d_pif_srez_edit procedure=ap_50630000000028964 patterns=GENERIC_VIEW_ITEM user_define=0 isvisible=0 istab=1 posx=0 posy=0 width=4562 height=1676 proc_text=$TEXT(14364583) create procedure dbo.%PROC% @sid varchar(30) = null as declare @id numeric, @action_id numeric, @user_id numeric, @state_id numeric, @type_id numeric begin select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .CHECK_VIEW_ITEM if @id = -1 begin begin tran .GET_PROPS .CHECK_INSERT .INIT_VARS(B) .INSERT_ITEMS .INSERT commit tran end .VIEW_ITEM end $ENDTEXT(14364583) $ACTION2RELATION(REL2.PARTNER_CODE) relation=REL2 where=null prop=PARTNER_CODE order=1 alias=partner_code $ENDACTION2RELATION $ACTION2RELATION(REL2.PARTNER_SHORT_NAME) relation=REL2 where=null prop=PARTNER_SHORT_NAME order=3 alias=partner_short_name $ENDACTION2RELATION $ACTION2RELATION(REL7.REMARK) relation=REL7 where=null prop=REMARK order=10 alias=startsrez_remark $ENDACTION2RELATION $ENDFORM $FORM(PIF_SCHA_2004) name=Отчет Справка СЧА (2004) class=5 filter=null target_state= uo=uo_print dw=d_pif_scha_2004_rep procedure=ap_60240000001501841 patterns=null user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) create procedure dbo.%PROC% @sid varchar(30) = null as .BEGIN('N') .CHECK_USER .GET_PROPS select @sid as sid, .DATE_TO_REP(@srez_date,'"') as rep_date, (case td_pay_fond.fond_type when 1 then 'Открытый' when 2 then 'Интервальный' when 3 then 'Закрытый' else '' end) + ' ПИФ "' + t_partners.partner_name + '"' as fond_name, uk.partner_name as control_name, uk_jur.j_head_last_name as head_name, uk_jur.j_head_staff as head_staff, t_partners_jur.j_bookkeeper_name as buch_name from t_partners uk, t_partners_jur uk_jur, td_pay_fond, t_partners, t_partners_jur where td_pay_fond.id = @fond_id and t_partners.id = td_pay_fond.id and t_partners_jur.id = t_partners.id and td_pay_fond.ctrl_comp_id = uk.id and uk_jur.id=uk.id .END $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SCHA_2004_LIST) name=Отчет Справка СЧА (2004) - перечень class=4 filter=null target_state= uo=null dw=d_pif_scha_2004_list procedure=ap_pif_scha_2004_list patterns=null user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) create procedure dbo.%PROC% @sid varchar(30) = null as declare @id numeric if @sid='' select @sid=null select @id=convert(numeric,@sid) create table #assets ( acc_id numeric not null, asset_id numeric not null, sum_bal money null, sum_calc money null, is_rate int null, asset_type_id numeric null, -- значение класс.,определяющего тип актива owner_type_id numeric null, -- значение класс.,определяющего принадлежность актива, row int null ) create table #lines ( row int not null, row_name varchar(255) not null, row_code varchar(10) null, sum_bal money null, sum_calc .PIF_PAY_TYPE null ) insert into #lines (row,row_name,row_code) select 9,'Активы:',null union select 10,'Денежные средства','010' union select 20,'Депозиты','020' union select 30,'Ценные бумаги, имеющие признаваемую котировку, в том числе:','030' union select 31,'- акции','031' union select 32,'- облигации','032' union select 33,'- прочие','033' union select 40,'Ценные бумаги, не имеющие признаваемую котировку, в том числе:','040' union select 41,'- акции','041' union select 42,'- облигации','042' union select 43,'- векселя',null union select 44,'- прочие','043' union select 50,'Дебиторская задолженность, в том числе:','050' union select 51,'- средства, переданные профессиональным участникам рынка ценных бумаг','051' union select 52,'- дебиторская задолженность по сделкам купли-продажи имущества','052' union select 53,'- дебиторская задолженность по процентному (купонному) доходу по банковским вкладам и ценным бумагам','053' union select 54,'- прочая дебиторская задолженность','054' union select 60,'Инвестиционные паи паевых инвестиционных фондов','060' union select 70,'Ценные бумаги иностранных эмитентов, в том числе:','070' union select 71,'- ценные бумаги иностранных государств','071' union select 72,'- акции иностранных акционерных обществ','072' union select 73,'- облигации иностранных коммерческих организаций','073' union select 74,'- ценные бумаги международных финансовых организаций','074' union select 79,'Доли в российских обществах с ограниченной ответственностью',null union select 80,'Недвижимое имущество и права на недвижимое имущество, в том числе:','080' union select 81,'- объекты недвижимого имущества',null union select 82,'- имущественные права на недвижимое имущество',null union select 83,'- строящиеся объекты недвижимости',null union select 90,'Проектно-сметная документация','090' union select 100,'Итого имущества: (строки 010 + 020 + 030 + 040 + 050 + 060 + 070 + 080 + 090)','100' union select 199,'Обязательства:',null union select 200,'Кредиторская задолженность','200' union select 210,'Резервы предстоящих расходов и платежей','210' union select 220,'Итого сумма обязательств (строки 200 + 210)','220' union select 230,'Итого стоимость чистых активов: (строки 100 - 220)','230' union select 240,'Количество паев в обращении','240' union select 250,'Расчетная стоимость пая (строки 230/240)','250' -------------------------------------------------------------------------------------------- declare @srez_date datetime, @scha_sum money, @pay_price money, @pay_price_srez money, @d_pay_price decimal(36,16), @pays_qty .PIF_PAY_TYPE declare @plan_id numeric, @fund_id numeric, @acc51_id numeric, @acc50_id numeric, @acc57_id numeric, @acc581_id numeric, @acc582_id numeric, @acc583_id numeric, @acc766_id numeric, @acc767_id numeric, @acc7610_id numeric, @acc7612_id numeric, @acc7613_id numeric, @acc7615_id numeric, @acc7616_id numeric, @acc7651_id numeric, @acc7652_id numeric, @acc7653_id numeric, @acc551_id numeric, @acc7655_id numeric, @acc011_id numeric, @acc081_id numeric, @acc961_id numeric, @acc962_id numeric, @acc963_id numeric, @acc68_id numeric declare @class_stock_type_id numeric, @class_emitent_type_id numeric, @class_asset_type_id numeric, @value_foreign_owner_id numeric, @value_pifpay_stock_id numeric select @srez_date=srez_date, @pays_qty=isnull(stock_qty,0), @pay_price_srez=isnull(stock_price,0), @fund_id=fond_id from tp_pif_srez where tp_pif_srez.id = @id select @plan_id=.ARG_PLAN('PIF_ACCOUNT') select @acc51_id = .SD_ACCID_FROM_EFFNO(@plan_id,'51') select @acc50_id = .SD_ACCID_FROM_EFFNO(@plan_id,'50') select @acc57_id = .SD_ACCID_FROM_EFFNO(@plan_id,'57') select @acc581_id = .SD_ACCID_FROM_EFFNO(@plan_id,'58.1') select @acc582_id = .SD_ACCID_FROM_EFFNO(@plan_id,'58.2') select @acc583_id = .SD_ACCID_FROM_EFFNO(@plan_id,'58.3') select @acc766_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.6') select @acc767_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.7') select @acc7610_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.10') select @acc7612_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.12') select @acc7613_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.13') select @acc7615_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.15') select @acc7616_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.16') select @acc7651_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.1') select @acc7652_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.2') select @acc7653_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.3') select @acc551_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.4') select @acc7655_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.5') select @acc011_id = .SD_ACCID_FROM_EFFNO(@plan_id,'01.1') select @acc081_id = .SD_ACCID_FROM_EFFNO(@plan_id,'08.1') select @acc961_id = .SD_ACCID_FROM_EFFNO(@plan_id,'89.1') select @acc962_id = .SD_ACCID_FROM_EFFNO(@plan_id,'89.2') select @acc963_id = .SD_ACCID_FROM_EFFNO(@plan_id,'89.3') select @acc68_id = .SD_ACCID_FROM_EFFNO(@plan_id,'68') select @class_stock_type_id=max(id) from t_nclass_types where upper(class_code)='STOCK_TYPE' select @class_emitent_type_id=max(id) from t_nclass_types where upper(class_code)='STOCK_EMITENT_TYPE' select @class_asset_type_id=max(id) from t_nclass_types where upper(class_code)='ASSET_TYPE_OTHER' select @value_foreign_owner_id=max(id) from t_nclass_values where class_type_id=@class_emitent_type_id and upper(value_code)='STOCK_FOREIGN_PARTNER' select @value_pifpay_stock_id=max(id) from t_nclass_values where class_type_id=@class_stock_type_id and upper(value_code)='PIFPAY' ---------------------------------- -- ЦБ, недвижимость и проч.активы ---------------------------------- -- ЦБ insert into #assets ( acc_id, asset_id, sum_bal, sum_calc, is_rate, asset_type_id, owner_type_id ) select p.acc_id, p.stock_id, p.bal_sum, p.stock_sum, (case when isnull(p.is_rate,0)=1 and isnull(p.stock_rate,0)<>0 and p.rate_date is not null and p.rate_date=@srez_date then 1 else 0 end), isnull((select max(class_value_id) from t_nclass_value2item where item_id=p.stock_id and class_value_id is not null and class_type_id=@class_stock_type_id),0), isnull((select max(class_value_id) from t_nclass_value2item where item_id=p.stock_id and class_value_id is not null and class_type_id=@class_emitent_type_id),0) from tp_pif_srez_portfolio p where p.srez_id=@id and p.acc_id=@acc581_id and .ITEMS_EXISTS_BY_TYPE(p.id,'PIF_SREZ_PORTFOLIO') -- ЦБ котируемые update #assets set row=31 where is_rate=1 and (select upper(value_code) from t_nclass_values where id=#assets.asset_type_id)='STOCK' and owner_type_id<>@value_foreign_owner_id update #assets set row=32 where is_rate=1 and (select upper(value_code) from t_nclass_values where id=#assets.asset_type_id)='OBLIG' and owner_type_id<>@value_foreign_owner_id update #assets set row=33 where is_rate=1 and asset_type_id<>@value_pifpay_stock_id and owner_type_id<>@value_foreign_owner_id and row is null -- ЦБ некотируемые update #assets set row=41 where is_rate=0 and (select upper(value_code) from t_nclass_values where id=#assets.asset_type_id)='STOCK' and owner_type_id<>@value_foreign_owner_id update #assets set row=42 where is_rate=0 and (select upper(value_code) from t_nclass_values where id=#assets.asset_type_id)='OBLIG' and owner_type_id<>@value_foreign_owner_id update #assets set row=43 where is_rate=0 and (select upper(value_code) from t_nclass_values where id=#assets.asset_type_id)='VEKS' and owner_type_id<>@value_foreign_owner_id update #assets set row=44 where is_rate=0 and asset_type_id<>@value_pifpay_stock_id and owner_type_id<>@value_foreign_owner_id and row is null -- Паи update #assets set row=60 where asset_type_id=@value_pifpay_stock_id and owner_type_id<>@value_foreign_owner_id -- Иностранные ЦБ (!!! 071 и 074 пока не собираем) update #assets set row=72 where (select upper(value_code) from t_nclass_values where id=#assets.asset_type_id)='STOCK' and owner_type_id=@value_foreign_owner_id update #assets set row=73 where (select upper(value_code) from t_nclass_values where id=#assets.asset_type_id)='OBLIG' and owner_type_id=@value_foreign_owner_id -- Пр.активы insert into #assets ( acc_id, asset_id, sum_bal, sum_calc, is_rate, asset_type_id, owner_type_id ) select p.acc_id, p.stock_id, p.bal_sum, p.stock_sum, 0, isnull((select max(class_value_id) from t_nclass_value2item where item_id=p.stock_id and class_value_id is not null and class_type_id=@class_asset_type_id),0), null from tp_pif_srez_portfolio p where p.srez_id=@id and p.acc_id in (@acc011_id,@acc081_id,@acc583_id) and .ITEMS_EXISTS_BY_TYPE(p.id,'PIF_SREZ_ACCOUNTS') -- !!! доли (п.75) пока не собираем /* update #assets set row=75 where acc_id=@acc583_id and (select upper(value_code) from t_nclass_values where id=#assets.asset_type_id)='???' */ -- недвижимость update #assets set row=81 where acc_id=@acc011_id update #assets set row=82 where acc_id=@acc081_id -- and (select upper(value_code) from t_nclass_values where id=#assets.asset_type_id)='BUILDING' -- !!! стороящееся (п.83) пока не собираем - все с 08.1 на п.82 /* update #assets set row=82 where acc_id=@acc081_id and (select upper(value_code) from t_nclass_values where id=#assets.asset_type_id)='???' */ -- !!! 090 (проектно-сметная док.) пока не собираем /* update #assets set row=90 where acc_id=@acc583_id and (select upper(value_code) from t_nclass_values where id=#assets.asset_type_id)='???' */ -- в отчет update #lines set sum_bal=(select sum(isnull(#assets.sum_bal,0)) from #assets where #assets.row=#lines.row and #assets.row is not null), sum_calc=(select sum(isnull(#assets.sum_calc,0)) from #assets where #assets.row=#lines.row and #assets.row is not null) update #lines set sum_calc=sum_bal where isnull(sum_calc,0)=0 update #lines set sum_bal=(select sum(isnull(sum_bal,0)) from #lines where row in (31,32,33)), sum_calc=(select sum(isnull(sum_calc,0)) from #lines where row in (31,32,33)) where row=30 update #lines set sum_bal=(select sum(isnull(sum_bal,0)) from #lines where row in (41,42,43,44)), sum_calc=(select sum(isnull(sum_calc,0)) from #lines where row in (41,42,43,44)) where row=40 update #lines set sum_bal=(select sum(isnull(sum_bal,0)) from #lines where row in (71,72,73,74)), sum_calc=(select sum(isnull(sum_calc,0)) from #lines where row in (71,72,73,74)) where row=70 update #lines set sum_bal=(select sum(isnull(sum_bal,0)) from #lines where row in (81,82,83)), sum_calc=(select sum(isnull(sum_calc,0)) from #lines where row in (81,82,83)) where row=80 ---------------- -- Ден.средства ---------------- -- 010 - ДС update #lines set sum_bal=(select sum(isnull(b.saldo_deb,0))-sum(isnull(b.saldo_cred,0)) from tp_pif_srez_balance b where b.srez_id=@id and b.acc_id in (@acc50_id,@acc51_id,@acc57_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where row=10 -- 020 - депозиты update #lines set sum_bal=(select sum(isnull(b.bal_sum,0)) from tp_pif_srez_portfolio b where b.srez_id=@id and b.acc_id in (@acc582_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_ACCOUNTS')) where row=20 ---------------- -- Задолженность ---------------- -- 050 - деб.задолженность update #lines set sum_bal=(select sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id=@id and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PARTNERS')) where row=50 -- 051 - проф.участники update #lines set sum_bal=(select sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id=@id and b.acc_id in (@acc551_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PARTNERS')) where row=51 -- 052 - покупка имущества update #lines set sum_bal=(select sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id=@id and b.acc_id in (@acc7651_id,@acc7652_id,@acc7653_id,@acc7655_id, @acc7612_id,@acc7613_id,@acc7615_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PARTNERS')) where row=52 -- 053 - купоны и % по депозитам update #lines set sum_bal=(select sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id=@id and b.acc_id in (@acc7610_id,@acc7616_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PARTNERS')) where row=53 -- НКД по котировкам (в оценку по 053) update #lines set sum_calc=isnull(#lines.sum_bal,0) + isnull((select sum(isnull(b.coupon_sum,0)) from tp_pif_srez_portfolio b where b.srez_id = @id and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PORTFOLIO')),0) where row in (50,53) -- 054 - проч.деб.задолженность update #lines set sum_calc=sum_bal where row in (51,52) update #lines set sum_bal=(select isnull(sum_bal,0) from #lines where row=50) - (select sum(isnull(sum_bal,0)) from #lines where row in (51,52,53)), sum_calc=(select isnull(sum_calc,0) from #lines where row=50) - (select sum(isnull(sum_calc,0)) from #lines where row in (51,52,53)) where row=54 -- 200 - кред.задолженность update #lines set sum_bal=(select sum(isnull(b.saldo_cred,0)) from tp_pif_srez_balance b where b.srez_id=@id and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PARTNERS')) where row=200 -- (налог) update #lines set sum_bal=isnull(#lines.sum_bal,0) + isnull( (select sum(isnull(b.saldo_cred,0))-sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id=@id and b.acc_id in (select id from t_accounts where parent_id=@acc68_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) ,0) where row=200 -- 210 - резервы update #lines set sum_bal=(select sum(isnull(b.saldo_cred,0))-sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id=@id and b.acc_id in (@acc961_id,@acc962_id,@acc963_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where row=210 -- Оценочная стоимость = балансовой update #lines set sum_calc=null where sum_calc=0 update #lines set sum_bal=null where sum_bal=0 update #lines set sum_calc=sum_bal where sum_calc is null ----------------- -- Сводные пункты ----------------- -- 100 - все имущество update #lines set sum_bal=(select sum(isnull(sum_bal,0)) from #lines where row in (10,20,30,40,50,60,70,80,90)), sum_calc=(select sum(isnull(sum_calc,0)) from #lines where row in (10,20,30,40,50,60,70,80,90)) where row=100 -- 220 - все обязательства update #lines set sum_bal=(select sum(isnull(sum_bal,0)) from #lines where row in (200,210)), sum_calc=(select sum(isnull(sum_calc,0)) from #lines where row in (200,210)) where row=220 -- 230 - СЧА select @scha_sum=(select isnull(sum_calc,0) from #lines where row=100) - (select isnull(sum_calc,0) from #lines where row=220) update #lines set sum_calc=@scha_sum where row=230 -- 240,250 - кол-во паев и цена пая update #lines set sum_calc=@pays_qty where row=240 if @pays_qty = 0 select @d_pay_price = 0 else select @d_pay_price = convert(decimal(36,16),convert(decimal(36,16),@scha_sum) / convert(decimal(36,16),@pays_qty)) .PIF_ROUND_MONEY(@fund_id,@d_pay_price,@d_pay_price) select @pay_price = convert(money,@d_pay_price) if @pay_price<>@pay_price_srez and isnull(@pay_price_srez,0)>0 select @pay_price=@pay_price_srez update #lines set sum_calc=@pay_price where row=250 -------------------------------------------------------------------------------------------- select row as row, row_name as row_name, row_code as row_code, convert(decimal(18,4),sum_bal) as sum_bal, sum_calc as sum_calc from #lines order by row drop table #lines drop table #assets $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SCHA_2005) name=Отчет Справка СЧА (2005) class=5 filter=null target_state= uo=uo_print dw=d_pif_scha_2005_rep procedure=ap_60360000002703538 patterns=null user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) create procedure dbo.%PROC% @sid varchar(30) = null as .BEGIN('N') .CHECK_USER .GET_PROPS declare @srez_date_now varchar(10), -- дата справки @srez_date_last varchar(10), -- дата предыдущей справки @rep_out_date varchar(30), -- дата определения стоимости @fond_name varchar(255), -- название фонда @control_name varchar(255), -- название УК @head_name varchar(255), -- ФИО уполномоченного лица УК @head_staff varchar(255), -- должность уполномоченного лица УК @buch_name varchar(255), -- ФИО бухгалтера @sd_name varchar(255), -- ФИО уполномоченного лица СД @fond_info varchar(255), -- дата и номер правил фонда @control_info varchar(255), -- местонахождение и тел. УК @lic_no varchar(255), -- лицензия УК @lic_autor varchar(255) -- лицензирующий орган select @srez_date_now=convert(varchar(10),@srez_date,104) select @rep_out_date='20:00 '+.DATE_TO_REP(@srez_date,'"') select @fond_name=/*(case td_pay_fond.fond_type when 1 then 'Открытый' when 2 then 'Интервальный' when 3 then 'Закрытый' else '' end) + ' ПИФ "' +*/ t_partners.partner_name /*+ '"'*/, @fond_info=isnull(.DATE_TO_REP(t_partners.regist_sertificate_date,'"'),'')+' №'+isnull(t_partners.regist_sertificate_no,''), @buch_name=t_partners_jur.j_bookkeeper_name, @control_name=uk.partner_name, @head_name=uk_jur.j_head_last_name, @head_staff=uk_jur.j_head_staff, @control_info=isnull(uk.jur_code,'')+', '+isnull(uk.juraddress,'')+'. Тел. '+isnull(uk.partner_phone,'-') from t_partners, t_partners_jur, td_pay_fond, t_partners_jur uk_jur, t_partners uk where td_pay_fond.id = @fond_id and t_partners.id = td_pay_fond.id and t_partners.id = t_partners_jur.id and td_pay_fond.ctrl_comp_id = uk_jur.id and uk.id = uk_jur.id select @sd_name=t_item2class.code from t_item2class, t_classes, t_classvalues, tb_contracts, td_depo_docs where upper(t_classes.code) = 'AUTHORIZED_PERSON' and t_classes.id = t_classvalues.class_id and upper(t_classvalues.code) = 'SD_AUTHORIZED_PERSON' and t_item2class.value_id = t_classvalues.id and t_item2class.item_id = tb_contracts.id and td_depo_docs.owner_id = @fond_id and td_depo_docs.id = tb_contracts.id and tb_contracts.dog_type_id = 4 -- договор со спецдепом (5010) and .ITEMS_EXISTS_BY_TYPE(td_depo_docs.id,'FUND_CONTRACTS') and @srez_date between tb_contracts.dogexec_begin_date and isnull(tb_contracts.dogexec_end_date,dateadd(dd,1,@srez_date)) if isnull(@sd_name,'') = '' select @sd_name=max(t_partners_jur.j_head_last_name) from t_partners_jur, tb_contracts, td_depo_docs where td_depo_docs.owner_id = @fond_id and td_depo_docs.id = tb_contracts.id and tb_contracts.dog_type_id = 4 -- договор со спецдепом (5010) and tb_contracts.client_id = t_partners_jur.id and .ITEMS_EXISTS_BY_TYPE(td_depo_docs.id,'FUND_CONTRACTS') and @srez_date between tb_contracts.dogexec_begin_date and isnull(tb_contracts.dogexec_end_date,dateadd(dd,1,@srez_date)) select @lic_no=max('№'+isnull(t_licence.lic_no,'')+ ', выдана '+ isnull(.DATE_TO_REP(t_licence.lic_date,'"'),'')), @lic_autor=isnull(max(t_licence.lic_autor),'Лицензирующий орган') from td_pay_fond, t_licence where td_pay_fond.id = @fond_id and td_pay_fond.ctrl_comp_id = t_licence.partner_id and t_licence.activity_id = 4 -- лицензия на упр. ПИФ (4500) and .ITEMS_EXISTS_BY_TYPE(t_licence.id,'ACTIVITY_LICENCE') if @lic_autor <> 'Лицензирующий орган' select @lic_autor='Лицензия выдана - '+@lic_autor select @lic_autor='('+@lic_autor+')' /* select @srez_date_last=convert(varchar(10),tp_pif_srez.srez_date,104) from tp_pif_srez where .ITEMS_EXISTS_BY_TYPE(tp_pif_srez.id,'PIF_SREZ') and tp_pif_srez.fond_id = @fond_id and tp_pif_srez.srez_date = (select max(pif_srez.srez_date) from tp_pif_srez pif_srez where .ITEMS_EXISTS_BY_TYPE(pif_srez.id,'PIF_SREZ') and pif_srez.fond_id = tp_pif_srez.fond_id and pif_srez.srez_date < @srez_date) */ select @srez_date_last=convert(varchar(10),last.srez_date,104) from tp_pif_srez,tp_pif_srez last where tp_pif_srez.id = @id and last.id=tp_pif_srez.startsrez_id if isnull(@srez_date_last,'') = '' select @srez_date_last='01.01.1980' select @sid as sid, @srez_date_now as srez_date_now, @srez_date_last as srez_date_last, @rep_out_date as rep_out_date, @fond_name as fond_name, @control_name as control_name, @head_name as head_name, @head_staff as head_staff, @buch_name as buch_name, @sd_name as sd_name, @fond_info as fond_info, @control_info as control_info, @lic_no as lic_no, @lic_autor as lic_autor .END $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SCHA_2005_LIST) name=Отчет Справка СЧА (2005) - перечень class=4 filter=null target_state= uo=null dw=d_pif_scha_2005_list procedure=ap_pif_scha_2005_list patterns=null user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) create procedure dbo.%PROC% @sid varchar(30) = null as declare @id numeric(18,0) if @sid='' select @sid=null select @id=convert(numeric(18,0),@sid) create table #assets ( acc_id numeric(18,0) not null, asset_id numeric(18,0) not null, sum_now money null, sum_last money null, is_rate int null, asset_type_id numeric(18,0) null, -- значение класс.,определяющего тип актива owner_type_id numeric(18,0) null, -- значение класс.,определяющего принадлежность актива, row int null ) create table #lines ( row int not null, row_name varchar(255) not null, row_code varchar(10) null, sum_now decimal(36,8) null, sum_last decimal(36,8) null, sum_now_str varchar(40) null, sum_last_str varchar(40) null -- sum_now .PIF_PAY_TYPE null, -- sum_last .PIF_PAY_TYPE null ) -- Определение структуры отчета insert into #lines (row,row_name,row_code) select 9,'Активы:',null union select 10,'Денежные средства на счетах - всего, в том числе:','010' union select 11,' - в рублях','011' union select 12,' - в иностранной валюте','012' union select 20,'Денежные средства во вкладах - всего, в том числе:','020' union select 21,' - в рублях','021' union select 22,' - в иностранной валюте','022' union select 30,'Государственные ценные бумаги Российской Федерации','030' union select 40,'Государственные ценные бумаги субъектов Российской Федерации','040' union select 50,'Муниципальные ценные бумаги','050' union select 60,'Облигации российских хозяйственных обществ (кроме облигаций с ипотечным покрытием)','060' union select 70,'Акции российских акционерных обществ','070' union select 80,'Инвестиционные паи паевых инвестиционных фондов','080' union select 90,'Ипотечные ценные бумаги - всего, в том числе:','090' union select 91,' - облигации с ипотечным покрытием','091' union select 92,' - ипотечные сертификаты участия','092' union select 100,'Векселя, выданные российскими хозяйственными обществами','100' union select 110,'Ценные бумаги иностранных эмитентов - всего, в том числе:','110' union select 111,' - ценные бумаги иностранных государств','111' union select 112,' - ценные бумаги международных финансовых организаций','112' union select 113,' - акции иностранных акционерных обществ','113' union select 114,' - облигации иностранных коммерческих организаций','114' union select 120,'Денежные требования по обеспеченным ипотекой обязательствам из кредитных договоров и прав '+ 'залогодержателя по договорам об ипотеке - всего, в том числе:','120' union select 121,' - удостоверенные закладными','121' union select 130,'Денежные требования по обязательствам из кредитных договоров, по которым кредиты предоставлены для '+ 'уплаты цены по договорам участия в долевом строительстве объектов недвижимого имущества','130' union select 140,'Доли в российских обществах с ограниченной ответственностью','140' union select 150,'Недвижимое имущество, находящееся на территории Российской Федерации - всего, в том числе:','150' union select 151,' - объекты незавершенного строительства','151' union select 160,'Недвижимое имущество, находящееся на территории иностранных государств - всего, в том числе:','160' union select 161,' - объекты незавершенного строительства','161' union select 170,'Имущественные права на недвижимое имущество, находящееся на территории Российской Федерации - всего, в том числе:','170' union select 171,' - право аренды недвижимого имущества','171' union select 180,'Имущественные права на недвижимое имущество, находящееся на территории иностранных государств - всего, в том числе:','180' union select 181,' - право аренды недвижимого имущества','181' union select 190,'Имущественные права по обязательствам из договоров участия в долевом строительстве объектов недвижимого имущества','190' union select 200,'Имущественные права по обязательствам из инвестиционных договоров','200' union select 210,'Проектно-сметная документация','210' union select 220,'Иное имущество','220' union select 230,'Дебиторская задолженность - всего, в том числе:','230' union select 231,' - средства, находящиеся у профессиональных участников рынка ценных бумаг','231' union select 232,' - дебиторская задолженность по сделкам купли-продажи имущества','232' union select 233,' - дебиторская задолженность по процентному (купонному) доходу по денежным средствам на счетах, во вкладах и по ценным бумагам','233' union select 234,' - прочая дебиторская задолженность','234' union select 240,'Итого сумма активов: (строки 010 + 020 + 030 + 040 + 050 + 060 + 070 + 080 + 090 + 100 + 110 +'+ ' 120 + 130 + 140 + 150 + 160 + 170 + 180 + 190 + 200 + 210 + 220 + 230)','240' union select 299,'Обязательства:',null union select 300,'Кредиторская задолженность','300' union select 310,'Резерв предстоящих расходов на выплату вознаграждения','310' union select 320,'Резерв для возмещения предстоящих расходов, связанных с доверительным управлением открытым паевым инвестиционным фондом','320' union select 330,'Итого сумма обязательств: (строки 300 + 310 + 320)','330' union select 400,'Стоимость чистых активов: (строка 240 - строка 330)','400' union select 500,'Количество размещенных акций акционерного инвестиционного фонда '+ '(количество выданных инвестиционных паев паевого инвестиционного фонда) - штук','500' union select 600,'Стоимость чистых активов акционерного инвестиционного фонда в расчете на одну акцию '+ '(расчетная стоимость инвестиционного пая паевого инвестиционного фонда (строка 400 / строка 500)','600' -- Переменные declare @srez_date datetime, @scha_sum money, @pay_price_now money, @pay_price_last money, @pay_price money, @pay_price_srez money, @d_pay_price decimal(36,16), @pays_qty .PIF_PAY_TYPE, @pays_qty_last .PIF_PAY_TYPE, @last_srez_id numeric(18,0) declare @plan_id numeric(18,0), @fund_id numeric(18,0), @acc51_id numeric(18,0), @acc50_id numeric(18,0), @acc57_id numeric(18,0), @acc581_id numeric(18,0), @acc582_id numeric(18,0), @acc583_id numeric(18,0), @acc766_id numeric(18,0), @acc767_id numeric(18,0), @acc7610_id numeric(18,0), @acc7612_id numeric(18,0), @acc7613_id numeric(18,0), @acc7615_id numeric(18,0), @acc7616_id numeric(18,0), @acc7651_id numeric(18,0), @acc7652_id numeric(18,0), @acc7653_id numeric(18,0), @acc551_id numeric(18,0), @acc7655_id numeric(18,0), @acc011_id numeric(18,0), @acc081_id numeric(18,0), @acc961_id numeric(18,0), @acc962_id numeric(18,0), @acc963_id numeric(18,0), @acc969_id numeric(18,0), @acc68_id numeric(18,0), @acc7659_id numeric(18,0) declare @class_stock_type_id numeric(18,0), @class_emitent_type_id numeric(18,0), @class_asset_type_id numeric(18,0), @value_foreign_owner_id numeric(18,0), @value_foreign_state_owner_id numeric(18,0), @value_foreig_fin_org_owner_id numeric(18,0), @value_nogos_owner_id numeric(18,0), @value_pifpay_stock_id numeric(18,0), @value_bill_stock_id numeric(18,0), @value_share_stock_id numeric(18,0), @value_bond_stock_id numeric(18,0), @value_sert_m_stock_id numeric(18,0), @value_bond_m_stock_id numeric(18,0), @value_gos_owner_id numeric(18,0), @value_gos_sub_owner_id numeric(18,0), @value_municipal_owner_id numeric(18,0), @value_rus_econom_com_owner_id numeric(18,0), @value_part_of_ooo_id numeric(18,0), @value_building_docs_id numeric(18,0), @val_money_claim_mort_liab_id numeric(18,0), @val_m_claim_mort_liab_mort_id numeric(18,0), @val_money_claim_cred_cont_id numeric(18,0), @value_building_rf_id numeric(18,0), @value_building_foreign_id numeric(18,0), @value_build_under_const_rf_id numeric(18,0), @val_build_under_const_for_id numeric(18,0), @value_vested_interests_rf_id numeric(18,0), @val_vested_inter_foreign_id numeric(18,0), @val_tenant_right_immov_rf_id numeric(18,0), @val_tenant_right_imm_for_id numeric(18,0), @value_interest_contract_id numeric(18,0), @val_interest_contr_invest_id numeric(18,0), @value_other_id numeric(18,0) select @srez_date=srez_date, @pays_qty=isnull(stock_qty,0), @pay_price_now=isnull(stock_price,0), @fund_id=fond_id, @last_srez_id=startsrez_id from tp_pif_srez where tp_pif_srez.id = @id -- Предыдущий срез - last /* select @last_srez_id=tp_pif_srez.id from tp_pif_srez where tp_pif_srez.fond_id = @fund_id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez.id,'PIF_SREZ') and tp_pif_srez.srez_date = (select max(srez_pif.srez_date) from tp_pif_srez srez_pif where srez_pif.fond_id = tp_pif_srez.fond_id and .ITEMS_EXISTS_BY_TYPE(srez_pif.id,'PIF_SREZ') and srez_pif.srez_date < @srez_date) */ -- Иницилизация переменных select @plan_id=.ARG_PLAN('PIF_ACCOUNT') select @acc51_id = .SD_ACCID_FROM_EFFNO(@plan_id,'51') select @acc50_id = .SD_ACCID_FROM_EFFNO(@plan_id,'50') select @acc57_id = .SD_ACCID_FROM_EFFNO(@plan_id,'57') select @acc581_id = .SD_ACCID_FROM_EFFNO(@plan_id,'58.1') select @acc582_id = .SD_ACCID_FROM_EFFNO(@plan_id,'58.2') select @acc583_id = .SD_ACCID_FROM_EFFNO(@plan_id,'58.3') select @acc766_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.6') select @acc767_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.7') select @acc7610_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.10') select @acc7612_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.12') select @acc7613_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.13') select @acc7615_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.15') select @acc7616_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.16') select @acc7651_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.1') select @acc7652_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.2') select @acc7653_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.3') select @acc551_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.4') select @acc7655_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.5') select @acc7659_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.9') select @acc011_id = .SD_ACCID_FROM_EFFNO(@plan_id,'01.1') select @acc081_id = .SD_ACCID_FROM_EFFNO(@plan_id,'08.1') select @acc961_id = .SD_ACCID_FROM_EFFNO(@plan_id,'89.1') select @acc963_id = .SD_ACCID_FROM_EFFNO(@plan_id,'89.3') select @acc969_id = .SD_ACCID_FROM_EFFNO(@plan_id,'96.9') select @acc68_id = .SD_ACCID_FROM_EFFNO(@plan_id,'68') if .GET_CLASS_VALUE_CODE_FOR_ITEM(@fund_id,'PIF_OTHER_RESERVE','IN_SCHA')='IN_SCHA' select @acc962_id = .SD_ACCID_FROM_EFFNO(@plan_id,'89.2') -- счет 96.2 по новому плану else select @acc962_id = -1 -- Тип класс-ра "Виды ЦБ" select @class_stock_type_id=max(id) from t_nclass_types where upper(class_code) = 'STOCK_TYPE' -- Тип класс-ра "Принадлежность ЦБ" select @class_emitent_type_id=max(id) from t_nclass_types where upper(class_code) = 'STOCK_EMITENT_TYPE' -- Тип класс-ра "Виды прочих активов" select @class_asset_type_id=max(id) from t_nclass_types where upper(class_code) = 'ASSET_TYPE_OTHER' -- Значение "Иностранные ЦБ" класс-ра "Принадлежность ЦБ" select @value_foreign_owner_id=max(id) from t_nclass_values where class_type_id=@class_emitent_type_id and upper(value_code) = 'STOCK_FOREIGN_PARTNER' -- Значение "Иностранные ЦБ" класс-ра "Принадлежность ЦБ" select @value_nogos_owner_id=max(id) from t_nclass_values where class_type_id=@class_emitent_type_id and upper(value_code) = 'STOCK_NOTGOS_PARTNER' -- Значение "ЦБ иностранных государств" класс-ра "Принадлежность ЦБ" select @value_foreign_state_owner_id=max(id) from t_nclass_values where class_type_id=@class_emitent_type_id and upper(value_code) = 'STOCK_FOREIGN_STATE' -- Значение "ЦБ иностранных государств" класс-ра "Принадлежность ЦБ" select @value_foreig_fin_org_owner_id=max(id) from t_nclass_values where class_type_id=@class_emitent_type_id and upper(value_code) = 'STOCK_FOREIGN_FIN_ORG' -- Значение "Государственные ЦБ" класс-ра "Принадлежность ЦБ" select @value_gos_owner_id=max(id) from t_nclass_values where class_type_id = @class_emitent_type_id and upper(value_code) = 'STOCK_GOS_PARTNER' -- Значение "Государственные ЦБ субъектов РФ" класс-ра "Принадлежность ЦБ" select @value_gos_sub_owner_id=max(id) from t_nclass_values where class_type_id = @class_emitent_type_id and upper(value_code) = 'STOCK_SUB_FED' -- Значение "Муниципальные ЦБ" класс-ра "Принадлежность ЦБ" select @value_municipal_owner_id=max(id) from t_nclass_values where class_type_id = @class_emitent_type_id and upper(value_code) = 'STOCK_MUNICIPAL' -- Значение "ЦБ российских хоз. обществ" класс-ра "Принадлежность ЦБ" select @value_rus_econom_com_owner_id=max(id) from t_nclass_values where class_type_id = @class_emitent_type_id and upper(value_code) = 'STOCK_RUS_ECONOM_COMP' -- Значение "Вексель" класс-ра "Виды ЦБ" select @value_bill_stock_id=max(id) from t_nclass_values where class_type_id = @class_stock_type_id and upper(value_code) = 'VEKS' -- Значение "Акция" класс-ра "Виды ЦБ" select @value_share_stock_id=max(id) from t_nclass_values where class_type_id = @class_stock_type_id and upper(value_code) = 'STOCK' -- Значение "Облигация" класс-ра "Виды ЦБ" select @value_bond_stock_id=max(id) from t_nclass_values where class_type_id = @class_stock_type_id and upper(value_code) = 'OBLIG' -- Значение "Пай паевого фонда" класс-ра "Виды ЦБ" select @value_pifpay_stock_id=max(id) from t_nclass_values where class_type_id = @class_stock_type_id and upper(value_code) = 'PIFPAY' -- Значение "Ипотечный сертификат" класс-ра "Виды ЦБ" select @value_sert_m_stock_id=max(id) from t_nclass_values where class_type_id = @class_stock_type_id and upper(value_code) = 'SERT_MORTGAGE' -- Значение "Облигации с ипотечным покрытием" класс-ра "Виды ЦБ" select @value_bond_m_stock_id=max(id) from t_nclass_values where class_type_id = @class_stock_type_id and upper(value_code) = 'BOND_MORTGAGE' -- Значение "Доля в уставном капитале ООО" класс-ра "Виды прочих активов" select @value_part_of_ooo_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'PART_OF_OOO' -- Значение "Проектно-сметная док-ция" класс-ра "Виды прочих активов" select @value_building_docs_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'BUILDING_DOCS' -- Значение "Ден. требования по обеспеченным ипотекой обязательствам" класс-ра "Виды прочих активов" select @val_money_claim_mort_liab_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'MONEY_CLAIMS_MORT_LIAB' -- Значение "Ден. требования по обеспеченным ипотекой обязательствам (удост. закладными)" класс-ра "Виды прочих активов" select @val_m_claim_mort_liab_mort_id =max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'MONEY_CLAIMS_MORT_LIAB_MORT' -- Значение "Ден. требования по обязательствам из кредитных договоров" класс-ра "Виды прочих активов" select @val_money_claim_cred_cont_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'MONEY_CLAIMS_CRED_CONTRACT' -- Значение "Недвижимое имущество на территории РФ" класс-ра "Виды прочих активов" select @value_building_rf_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'BUILDING_RF' -- Значение "Недвижимое имущество на территории иностранных государств" класс-ра "Виды прочих активов" select @value_building_foreign_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'BUILDING_FOREIGN' -- Значение "Объекты незавершенного строительства на тер-ии РФ" класс-ра "Виды прочих активов" select @value_build_under_const_rf_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'BUILDING_UNDER_CONSTR_RF' -- Значение "Объекты незавершенного строительства на территории иностранных государств" класс-ра "Виды прочих активов" select @val_build_under_const_for_id =max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'BUILDING_UNDER_CONSTR_FOREIGN' -- Значение "Имущественные права на имущество на территории РФ" класс-ра "Виды прочих активов" select @value_vested_interests_rf_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'VESTED_INTERESTS_RF' -- Значение "Имущественные права на имущественные права на терр. иностарнных государств" класс-ра "Виды прочих активов" select @val_vested_inter_foreign_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'VESTED_INTERESTS_FOREIGN' -- Значение "Право аренды недвижимого имущества на территории РФ" класс-ра "Виды прочих активов" select @val_tenant_right_immov_rf_id =max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'TENANT_RIGHT_IMMOVABL_RF' -- Значение "Право аренды недвижимого имущества на территории иностранных государств" класс-ра "Виды прочих активов" select @val_tenant_right_imm_for_id =max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'TENANT_RIGHT_IMMOVABL_FOREIGN' -- Значение "Имущественные права по договорам участия" класс-ра "Виды прочих активов" select @value_interest_contract_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'INTEREST_CONTRACT' -- Значение "Имущественные права по инвестиционным договорам" класс-ра "Виды прочих активов" select @val_interest_contr_invest_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'INTEREST_CONTRACT_INVESTMENT' -- Значение "Прочие активы" класс-ра "Виды прочих активов" select @value_other_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'OTHER' -- -- Расчет денежных средств -- -- 011 (Денежные средства в рублях (now) update #lines set sum_now=(select sum(isnull(b.saldo_deb,0))-sum(isnull(b.saldo_cred,0)) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id in (@acc50_id, @acc51_id, @acc57_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where row = 11 -- 011 (Денежные средства в рублях (last) update #lines set sum_last=(select sum(isnull(b.saldo_deb,0))-sum(isnull(b.saldo_cred,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id and b.acc_id in (@acc50_id, @acc51_id, @acc57_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where row = 11 /* -- Валютные счета пока не считаем -- 012 (Денежные средства в валюте (now) update #lines set sum_now=(select sum(isnull(b.saldo_deb,0))-sum(isnull(b.saldo_cred,0)) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id in (@acc50_id, @acc51_id, @acc57_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where row = 12 -- 012 (Денежные средства в валюте (last) update #lines set sum_last=(select sum(isnull(b.saldo_deb,0))-sum(isnull(b.saldo_cred,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id and b.acc_id in (@acc50_id, @acc51_id, @acc57_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where row = 12 */ -- 021 (Депозиты в рублях (now) update #lines set sum_now=(select sum(isnull(b.bal_sum,0)) from tp_pif_srez_portfolio b where b.srez_id = @id and b.acc_id in (@acc582_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_ACCOUNTS')) where row = 21 -- 021 (Депозиты в рублях (last) update #lines set sum_last=(select sum(isnull(b.bal_sum,0)) from tp_pif_srez_portfolio b where b.srez_id = @last_srez_id and b.acc_id in (@acc582_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_ACCOUNTS')) where row = 21 /* -- Валютные депозиты пока не считаем -- 022 (Депозиты в валюте (now) update #lines set sum_now=(select sum(isnull(b.bal_sum,0)) from tp_pif_srez_portfolio b where b.srez_id = @id and b.acc_id in (@acc582_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_ACCOUNTS')) where row = 22 -- 022 (Депозиты в валюте (last) update #lines set sum_last=(select sum(isnull(b.bal_sum,0)) from tp_pif_srez_portfolio b where b.srez_id = @last_srez_id and b.acc_id in (@acc582_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_ACCOUNTS')) where row = 22 */ -- Отбор ЦБ (now) insert into #assets (acc_id, asset_id, sum_now, asset_type_id, owner_type_id) select p.acc_id, p.stock_id, p.stock_sum, isnull((select max(class_value_id) from t_nclass_value2item where item_id = p.stock_id and class_value_id is not null and class_type_id = @class_stock_type_id),0), isnull((select max(class_value_id) from t_nclass_value2item where item_id = p.stock_id and class_value_id is not null and class_type_id = @class_emitent_type_id),0) from tp_pif_srez_portfolio p where p.srez_id = @id and p.acc_id = @acc581_id and .ITEMS_EXISTS_BY_TYPE(p.id,'PIF_SREZ_PORTFOLIO') -- Отбор ЦБ (last) insert into #assets (acc_id, asset_id, sum_last, asset_type_id, owner_type_id) select p.acc_id, p.stock_id, p.stock_sum, isnull((select max(class_value_id) from t_nclass_value2item where item_id = p.stock_id and class_value_id is not null and class_type_id = @class_stock_type_id),0), isnull((select max(class_value_id) from t_nclass_value2item where item_id = p.stock_id and class_value_id is not null and class_type_id = @class_emitent_type_id),0) from tp_pif_srez_portfolio p where p.srez_id = @last_srez_id and p.acc_id = @acc581_id and .ITEMS_EXISTS_BY_TYPE(p.id,'PIF_SREZ_PORTFOLIO') and not exists(select 1 from #assets where #assets.asset_id = p.stock_id) -- Отбор ЦБ (last) update #assets set sum_last=p.stock_sum from tp_pif_srez_portfolio p where p.srez_id = @last_srez_id and p.acc_id = @acc581_id and .ITEMS_EXISTS_BY_TYPE(p.id,'PIF_SREZ_PORTFOLIO') and #assets.asset_id = p.stock_id -- Отбор недвижимости и прочих активов (now) insert into #assets (acc_id, asset_id, sum_now, asset_type_id, owner_type_id) select p.acc_id, p.stock_id, p.stock_sum, isnull((select max(n.class_value_id) from t_nclass_value2item n where n.item_id = p.stock_id and n.class_value_id is not null and n.class_type_id = @class_asset_type_id and n.set_date is not null and n.set_date = (select max(nn.set_date) from t_nclass_value2item nn where nn.item_id = p.stock_id and nn.class_value_id is not null and nn.class_type_id = @class_asset_type_id and nn.set_date is not null and nn.set_date < dateadd(dd,1,@srez_date))),0), null from tp_pif_srez_portfolio p where p.srez_id = @id and p.acc_id in (@acc011_id,@acc081_id,@acc583_id) and .ITEMS_EXISTS_BY_TYPE(p.id,'PIF_SREZ_ACCOUNTS') -- Отбор недвижимости и прочих активов (last) insert into #assets (acc_id, asset_id, sum_last, asset_type_id, owner_type_id) select p.acc_id, p.stock_id, p.stock_sum, isnull((select max(n.class_value_id) from t_nclass_value2item n where n.item_id = p.stock_id and n.class_value_id is not null and n.class_type_id = @class_asset_type_id and n.set_date is not null and n.set_date = (select max(nn.set_date) from t_nclass_value2item nn where nn.item_id = p.stock_id and nn.class_value_id is not null and nn.class_type_id = @class_asset_type_id and nn.set_date is not null and nn.set_date < dateadd(dd,1,@srez_date))),0), null from tp_pif_srez_portfolio p where p.srez_id = @last_srez_id and p.acc_id in (@acc011_id,@acc081_id,@acc583_id) and .ITEMS_EXISTS_BY_TYPE(p.id,'PIF_SREZ_ACCOUNTS') and not exists(select 1 from #assets where #assets.asset_id = p.stock_id) -- Отбор недвижимости и прочих активов (last) update #assets set sum_last=p.stock_sum from tp_pif_srez_portfolio p where p.srez_id = @last_srez_id and p.acc_id in (@acc011_id,@acc081_id,@acc583_id) and .ITEMS_EXISTS_BY_TYPE(p.id,'PIF_SREZ_PORTFOLIO') and #assets.asset_id = p.stock_id -- -- Расчет ЦБ -- -- 030 (Государственные ЦБ РФ) update #assets set row=30 where #assets.owner_type_id = @value_gos_owner_id and #assets.asset_type_id = @value_bond_stock_id -- 040 (Государственные ЦБ субъектов РФ) update #assets set row=40 where #assets.owner_type_id = @value_gos_sub_owner_id and #assets.asset_type_id = @value_bond_stock_id -- 050 (Муниципальные ЦБ) update #assets set row=50 where #assets.owner_type_id = @value_municipal_owner_id and #assets.asset_type_id = @value_bond_stock_id -- 060 (Облигации российских хоз. обществ) update #assets set row=60 where #assets.owner_type_id = @value_nogos_owner_id and #assets.asset_type_id = @value_bond_stock_id -- 070 (Акции российских АО) update #assets set row=70 where #assets.owner_type_id = @value_nogos_owner_id and #assets.asset_type_id = @value_share_stock_id -- 080 (Инвестиционные паи) update #assets set row=80 where #assets.owner_type_id not in (@value_foreign_owner_id, @value_foreign_state_owner_id, @value_foreig_fin_org_owner_id) and #assets.asset_type_id = @value_pifpay_stock_id -- 091 (Ипотечные ЦБ, облигации с ипотечным покрытием) update #assets set row=91 where #assets.owner_type_id not in (@value_foreign_owner_id, @value_foreign_state_owner_id, @value_foreig_fin_org_owner_id) and #assets.asset_type_id = @value_bond_m_stock_id -- 092 (Ипотечные ЦБ, ипотечные сертификаты участия) update #assets set row=92 where #assets.owner_type_id not in (@value_foreign_owner_id, @value_foreign_state_owner_id, @value_foreig_fin_org_owner_id) and #assets.asset_type_id = @value_sert_m_stock_id -- 100 (Векселя выданные российскими хоз. обществами) update #assets set row=100 where #assets.owner_type_id not in (@value_foreign_owner_id, @value_foreign_state_owner_id, @value_foreig_fin_org_owner_id) and #assets.asset_type_id = @value_bill_stock_id -- 111 (ЦБ иностранных государств) update #assets set row=111 where #assets.owner_type_id = @value_foreign_state_owner_id and #assets.asset_type_id = @value_bond_stock_id -- 112 (ЦБ международных финансовых орг-ий) update #assets set row=112 where #assets.owner_type_id = @value_foreig_fin_org_owner_id and #assets.asset_type_id in (@value_bill_stock_id, @value_share_stock_id, @value_bond_stock_id, @value_share_stock_id, @value_sert_m_stock_id, @value_bond_m_stock_id) -- 113 (Акции иностранных АО) update #assets set row=113 where #assets.owner_type_id = @value_foreign_owner_id and #assets.asset_type_id = @value_share_stock_id -- 114 (Облигации иностранных коммерческих организаций) update #assets set row=114 where #assets.owner_type_id = @value_foreign_owner_id and #assets.asset_type_id = @value_bond_stock_id -- 120 (Денежные требования по обеспеченным ипотекой обязательствам) update #assets set row=120 where acc_id = @acc583_id and #assets.asset_type_id = @val_money_claim_mort_liab_id -- 121 (Денежные требования по обеспеченным ипотекой обязательствам (удостоверенные закладными) update #assets set row=121 where acc_id = @acc583_id and #assets.asset_type_id = @val_m_claim_mort_liab_mort_id -- 130 (Денежные требования по Обязательствам их кредитных договоров) update #assets set row=130 where acc_id = @acc583_id and #assets.asset_type_id = @val_money_claim_cred_cont_id -- 140 (Доли в российских ООО) update #assets set row=140 where acc_id = @acc583_id and #assets.asset_type_id = @value_part_of_ooo_id -- 150 (Недвижимое имущество на терр. РФ) update #assets set row=150 where acc_id in (@acc011_id,@acc081_id) and #assets.asset_type_id = @value_building_rf_id -- 151 (Объекты незавершенного строительства на терр. РФ) update #assets set row=151 where acc_id in (@acc011_id,@acc081_id) and #assets.asset_type_id = @value_build_under_const_rf_id -- 160 (Недвижимое имущество на терр. РФ) update #assets set row=160 where acc_id in (@acc011_id,@acc081_id) and #assets.asset_type_id = @value_building_foreign_id -- 161 (Объекты незавершенного строительства на терр. РФ) update #assets set row=161 where acc_id in (@acc011_id,@acc081_id) and #assets.asset_type_id = @val_build_under_const_for_id -- 170 (Имущественные права на имущество на терр. РФ) update #assets set row=170 where acc_id = @acc583_id and #assets.asset_type_id = @value_vested_interests_rf_id -- 171 (Право аренды недвижимого имущества на терр. РФ) update #assets set row=171 where acc_id = @acc583_id and #assets.asset_type_id = @val_tenant_right_immov_rf_id -- 180 (Имущественные права на имущество на терр. РФ) update #assets set row=180 where acc_id = @acc583_id and #assets.asset_type_id = @val_vested_inter_foreign_id -- 181 (Право аренды недвижимого имущества на терр. РФ) update #assets set row=181 where acc_id = @acc583_id and #assets.asset_type_id = @val_tenant_right_imm_for_id -- 190 (Имущественные права по договорам участия) update #assets set row=190 where acc_id = @acc583_id and #assets.asset_type_id = @value_interest_contract_id -- 200 (Имущественные права по инвестиционным договорам) update #assets set row=200 where acc_id = @acc583_id and #assets.asset_type_id = @val_interest_contr_invest_id -- 210 (Проектно-сметная док-ция) update #assets set row=210 where acc_id in (@acc011_id, @acc081_id, @acc583_id) and #assets.asset_type_id = @value_building_docs_id -- 220 (Иное имущество) update #assets set row=220 where acc_id = @acc583_id and #assets.asset_type_id = @value_other_id -- 230 (Деб.задолженность (now) update #lines set sum_now=(select sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @id and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PARTNERS')) where row = 230 -- 230 (Деб.задолженность (last) update #lines set sum_last=(select sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PARTNERS')) where row = 230 -- 231 (Проф.участники (now) update #lines set sum_now=isnull(#lines.sum_now,0) + isnull((select sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id in (@acc551_id, @acc7659_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')),0) where row = 231 -- 231 (Проф.участники (last) update #lines set sum_last=isnull(#lines.sum_last,0) + isnull((select sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id and b.acc_id in (@acc551_id, @acc7659_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')),0) where row = 231 -- 232 (Сделки по купли-продаже имущества (now) update #lines set sum_now=(select sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id in (@acc7651_id, @acc7652_id, @acc7653_id, @acc7655_id, @acc7612_id, @acc7613_id, @acc7615_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PARTNERS')) where row = 232 -- 232 (Сделки по купли-продаже имущества (last) update #lines set sum_last=(select sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id and b.acc_id in (@acc7651_id, @acc7652_id, @acc7653_id, @acc7655_id, @acc7612_id, @acc7613_id, @acc7615_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PARTNERS')) where row = 232 -- 233-1 (Купоны и % по депозитам (now) update #lines set sum_now=(select sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id in (@acc7610_id, @acc7616_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PARTNERS')) where row = 233 -- 233-1 (Купоны и % по депозитам (last) update #lines set sum_last=(select sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id and b.acc_id in (@acc7610_id, @acc7616_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PARTNERS')) where row = 233 -- 233-2 (НКД по котировкам (в оценку по 233 (now) update #lines set sum_now=isnull(#lines.sum_now,0) + isnull((select sum(b.coupon_sum) from tp_pif_srez_portfolio b where b.srez_id = @id and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PORTFOLIO')),0) where row in (230, 233) -- 233-2 (НКД по котировкам (в оценку по 233 (last) update #lines set sum_last=isnull(#lines.sum_last,0) + isnull((select sum(b.coupon_sum) from tp_pif_srez_portfolio b where b.srez_id = @last_srez_id and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PORTFOLIO')),0) where row in (230, 233) /* -- 233-3 (УНКД по балансу (в бал.ст-ть по 233 (now) if .GET_CLASS_VALUE_CODE_FOR_ITEM(@fund_id,'SELECT_UNKD_IN_SCHA_REP','ON') = 'ON' update #lines set sum_now=isnull(#lines.sum_now,0)+ isnull((select sum(isnull(b.saldo_deb,0))-sum(isnull(b.saldo_cred,0)) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id in (@acc766_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')),0) where row in (230,233) -- 233-3 (УНКД по балансу (в бал.ст-ть по 233 (last) if .GET_CLASS_VALUE_CODE_FOR_ITEM(@fund_id,'SELECT_UNKD_IN_SCHA_REP','ON') = 'ON' update #lines set sum_last=isnull(#lines.sum_last,0) + isnull((select sum(isnull(b.saldo_deb,0))-sum(isnull(b.saldo_cred,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id and b.acc_id in (@acc766_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')),0) where row in (230,233) */ -- 234-1 (Прочая деб. задолженность (now, last) update #lines set sum_now=(select isnull(sum_now,0) from #lines where row = 230) - (select sum(isnull(sum_now,0)) from #lines where row in (231, 232, 233)), sum_last=(select isnull(sum_last,0) from #lines where row = 230) - (select sum(isnull(sum_last,0)) from #lines where row in (231, 232, 233)) where row = 234 -- -- Итого -- -- Итого в отчет (now, last) update #lines set sum_now=isnull((select sum(#assets.sum_now) from #assets where #assets.row = #lines.row and #assets.row is not null),0), sum_last=isnull((select sum(#assets.sum_last) from #assets where #assets.row = #lines.row and #assets.row is not null),0) from #assets where #assets.row = #lines.row -- -- Сводные пункты в отчете -- -- 010 (Итого денежных средств (now, last) update #lines set sum_now=(select sum(sum_now) from #lines where row in (11,12)), sum_last=(select sum(sum_last) from #lines where row in (11,12)) where row = 10 -- 020 (Итого депозитов (now, last) update #lines set sum_now=(select sum(sum_now) from #lines where row in (21,22)), sum_last=(select sum(sum_last) from #lines where row in (21,22)) where row = 20 -- 90 (Итого по 91, 92 в отчет (now, last) update #lines set sum_now=isnull((select sum(#assets.sum_now) from #assets where #assets.row in (91, 92)),0), sum_last=isnull((select sum(#assets.sum_last) from #assets where #assets.row in (91, 92)),0) where #lines.row = 90 -- 110 (Итого по 111, 112, 113, 114 в отчет (now, last) update #lines set sum_now=isnull((select sum(#assets.sum_now) from #assets where #assets.row in (111, 112, 113, 114)),0), sum_last=isnull((select sum(#assets.sum_last) from #assets where #assets.row in (111, 112, 113, 114)),0) where #lines.row = 110 -- 120 (Итого 120 + 121 (now, last) update #lines set sum_now=isnull(sum_now,0)+isnull((select sum_now from #lines where row = 121),0), sum_last=isnull(sum_last,0)+isnull((select sum_last from #lines where row = 121),0) where row = 120 -- 150 (Итого 150 + 151 (now, last) update #lines set sum_now=isnull(sum_now,0)+isnull((select sum_now from #lines where row = 151),0), sum_last=isnull(sum_last,0)+isnull((select sum_last from #lines where row = 151),0) where row = 150 -- 160 (Итого 160 + 161 (now, last) update #lines set sum_now=isnull(sum_now,0)+isnull((select sum_now from #lines where row = 161),0), sum_last=isnull(sum_last,0)+isnull((select sum_last from #lines where row = 161),0) where row = 160 -- 170 (Итого 170 + 171 (now, last) update #lines set sum_now=isnull(sum_now,0)+isnull((select sum_now from #lines where row = 171),0), sum_last=isnull(sum_last,0)+isnull((select sum_last from #lines where row = 171),0) where row = 170 -- 180 (Итого 180 + 181 (now, last) update #lines set sum_now=isnull(sum_now,0)+isnull((select sum_now from #lines where row = 181),0), sum_last=isnull(sum_last,0)+isnull((select sum_last from #lines where row = 181),0) where row = 180 -- 240 (Итого сумма активов (now, last) update #lines set sum_now=isnull(sum_now,0)+isnull((select sum(sum_now) from #lines where row in (10,20,30,40,50,60,70,80,90,100,110,120,130, 140,150,160,170,180,190,200,210,220,230)),0), sum_last=isnull(sum_last,0)+isnull((select sum(sum_last) from #lines where row in (10,20,30,40,50,60,70,80,90,100,110,120,130, 140,150,160,170,180,190,200,210,220,230)),0) where row = 240 -- 300 (Кред. задолженность (now) update #lines set sum_now=(select sum(isnull(b.saldo_cred,0)) from tp_pif_srez_balance b where b.srez_id = @id and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PARTNERS')) where row = 300 -- 300 (Кред. задолженность (last) update #lines set sum_last=(select sum(isnull(b.saldo_cred,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PARTNERS')) where row = 300 -- 300 (Налог (now) update #lines set sum_now=isnull(#lines.sum_now,0)+ isnull((select sum(isnull(b.saldo_cred,0))-sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id in (select id from t_accounts where parent_id = @acc68_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')),0) where row = 300 -- 300 (Налог (last) update #lines set sum_last=isnull(#lines.sum_last,0)+ isnull((select sum(isnull(b.saldo_cred,0))-sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id and b.acc_id in (select id from t_accounts where parent_id = @acc68_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')),0) where row = 300 -- 310 (Резервы предстоящих расходов (now) update #lines set sum_now=(select sum(isnull(b.saldo_cred,0))-sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @id -- and b.acc_id in (@acc962_id, @acc963_id) -- @acc961_id and b.acc_id in (@acc961_id, @acc963_id, @acc969_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where row = 310 -- 310 (Резервы предстоящих расходов (last) update #lines set sum_last=(select sum(isnull(b.saldo_cred,0))-sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id -- and b.acc_id in (@acc962_id, @acc963_id) -- @acc961_id and b.acc_id in (@acc961_id, @acc963_id, @acc969_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where row = 310 -- 320 (Резервы ДУ (now) update #lines set sum_now=(select sum(isnull(b.saldo_cred,0))-sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id in (@acc962_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where row = 320 -- 320 (Резервы ДУ (last) update #lines set sum_last=(select sum(isnull(b.saldo_cred,0))-sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id and b.acc_id in (@acc962_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where row = 320 -- 330 (Итого 300 + 310 + 320 (now, last) update #lines set sum_now=isnull((select sum(sum_now) from #lines where row in (300, 310, 320)),0), sum_last=isnull((select sum(sum_last) from #lines where row in (300, 310, 320)),0) where row = 330 -- 400 (Итого 240 - 300 (now, last) update #lines set sum_now=isnull(((select isnull(sum_now,0) from #lines where row = 240) - (select isnull(sum_now,0) from #lines where row = 330)),0), sum_last=isnull(((select isnull(sum_last,0) from #lines where row = 240) - (select isnull(sum_last,0) from #lines where row = 330)),0) where row = 400 select @pays_qty_last=isnull((select stock_qty from tp_pif_srez where id = @last_srez_id),0) .PIF_ROUND_PAYS(@fund_id,@pays_qty,@pays_qty) .PIF_ROUND_PAYS(@fund_id,@pays_qty_last,@pays_qty_last) -- 500 (Кол-во паев (now, last) update #lines set sum_now=isnull(@pays_qty,0), sum_last=isnull(@pays_qty_last,0) where row = 500 select @pay_price_now=isnull(((select isnull(sum_now,0) from #lines where row = 400) / (select isnull(sum_now,1) from #lines where row = 500)),0) select @pay_price_last=isnull(((select isnull(sum_last,0) from #lines where row = 400) / (select isnull(sum_last,1) from #lines where row = 500)),0) .PIF_ROUND_MONEY(@fund_id,@pay_price_now,@pay_price_now) .PIF_ROUND_MONEY(@fund_id,@pay_price_last,@pay_price_last) -- 600 (Итого 400 / 500 (now, last) update #lines set sum_now=@pay_price_now, sum_last=@pay_price_last where row = 600 -- select * from #assets -- Установка нулей update #lines set sum_now=0, sum_last=0 where sum_now is null and row not in (9,299) update #lines set sum_now_str=.format_long_money(sum_now,2), sum_last_str=.format_long_money(sum_last,2) update #lines set sum_now_str=.format_long_money(sum_now,5), sum_last_str=.format_long_money(sum_last,5) where row_code='500' select row as row, row_name as row_name, row_code as row_code, sum_now as sum_now, sum_last as sum_last, sum_now_str, sum_last_str from #lines order by row drop table #lines drop table #assets $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SCHA_2006) name=Отчет Справка СЧА (2006) class=5 filter=null target_state= uo=uo_print dw=d_pif_scha_2006_rep procedure=ap_pif_scha_2006_rep patterns=null user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) create procedure dbo.%PROC% @sid varchar(30) = null as .BEGIN('N') .CHECK_USER .GET_PROPS declare @srez_date_now varchar(10), -- дата справки @srez_date_last varchar(10), -- дата предыдущей справки @rep_out_date varchar(30), -- дата определения стоимости @fond_name varchar(255), -- название фонда @control_name varchar(255), -- название УК @head_name varchar(255), -- ФИО уполномоченного лица УК @head_staff varchar(255), -- должность уполномоченного лица УК @buch_name varchar(255), -- ФИО бухгалтера @sd_name varchar(255), -- ФИО уполномоченного лица СД @fond_info varchar(255), -- дата и номер правил фонда @control_info varchar(255), -- местонахождение и тел. УК @lic_no varchar(255), -- лицензия УК @lic_autor varchar(255) -- лицензирующий орган select @srez_date_now=convert(varchar(10),@srez_date,104) select @rep_out_date='20:00 '+.DATE_TO_REP(@srez_date,'"') select @fond_name=/*(case td_pay_fond.fond_type when 1 then 'Открытый' when 2 then 'Интервальный' when 3 then 'Закрытый' else '' end) + ' ПИФ "' +*/ t_partners.partner_name /*+ '"'*/, @fond_info=isnull(.DATE_TO_REP(t_partners.regist_sertificate_date,'"'),'')+' №'+isnull(t_partners.regist_sertificate_no,''), @buch_name=t_partners_jur.j_bookkeeper_name, @control_name=uk.partner_name, @head_name=uk_jur.j_head_last_name, @head_staff=uk_jur.j_head_staff, @control_info=isnull(uk.jur_code,'')+', '+isnull(uk.juraddress,'')+'. Тел. '+isnull(uk.partner_phone,'-') from t_partners, t_partners_jur, td_pay_fond, t_partners_jur uk_jur, t_partners uk where td_pay_fond.id = @fond_id and t_partners.id = td_pay_fond.id and t_partners.id = t_partners_jur.id and td_pay_fond.ctrl_comp_id = uk_jur.id and uk.id = uk_jur.id select @sd_name=t_item2class.code from t_item2class, t_classes, t_classvalues, tb_contracts, td_depo_docs where upper(t_classes.code) = 'AUTHORIZED_PERSON' and t_classes.id = t_classvalues.class_id and upper(t_classvalues.code) = 'SD_AUTHORIZED_PERSON' and t_item2class.value_id = t_classvalues.id and t_item2class.item_id = tb_contracts.id and td_depo_docs.owner_id = @fond_id and td_depo_docs.id = tb_contracts.id and tb_contracts.dog_type_id = 4 -- договор со спецдепом (5010) and .ITEMS_EXISTS_BY_TYPE(td_depo_docs.id,'FUND_CONTRACTS') and @srez_date between tb_contracts.dogexec_begin_date and isnull(tb_contracts.dogexec_end_date,dateadd(dd,1,@srez_date)) if isnull(@sd_name,'') = '' select @sd_name=max(t_partners_jur.j_head_last_name) from t_partners_jur, tb_contracts, td_depo_docs where td_depo_docs.owner_id = @fond_id and td_depo_docs.id = tb_contracts.id and tb_contracts.dog_type_id = 4 -- договор со спецдепом (5010) and tb_contracts.client_id = t_partners_jur.id and .ITEMS_EXISTS_BY_TYPE(td_depo_docs.id,'FUND_CONTRACTS') and @srez_date between tb_contracts.dogexec_begin_date and isnull(tb_contracts.dogexec_end_date,dateadd(dd,1,@srez_date)) select @lic_no=max('№'+isnull(t_licence.lic_no,'')+ ', выдана '+ isnull(.DATE_TO_REP(t_licence.lic_date,'"'),'')), @lic_autor=isnull(max(t_licence.lic_autor),'Лицензирующий орган') from td_pay_fond, t_licence where td_pay_fond.id = @fond_id and td_pay_fond.ctrl_comp_id = t_licence.partner_id and t_licence.activity_id = 4 -- лицензия на упр. ПИФ (4500) and .ITEMS_EXISTS_BY_TYPE(t_licence.id,'ACTIVITY_LICENCE') if @lic_autor <> 'Лицензирующий орган' select @lic_autor='Лицензия выдана - '+@lic_autor select @lic_autor='('+@lic_autor+')' /* select @srez_date_last=convert(varchar(10),tp_pif_srez.srez_date,104) from tp_pif_srez where .ITEMS_EXISTS_BY_TYPE(tp_pif_srez.id,'PIF_SREZ') and tp_pif_srez.fond_id = @fond_id and tp_pif_srez.srez_date = (select max(pif_srez.srez_date) from tp_pif_srez pif_srez where .ITEMS_EXISTS_BY_TYPE(pif_srez.id,'PIF_SREZ') and pif_srez.fond_id = tp_pif_srez.fond_id and pif_srez.srez_date < @srez_date) */ select @srez_date_last=convert(varchar(10),last.srez_date,104) from tp_pif_srez,tp_pif_srez last where tp_pif_srez.id = @id and last.id=tp_pif_srez.startsrez_id if isnull(@srez_date_last,'') = '' select @srez_date_last='01.01.1980' select @sid as sid, @srez_date_now as srez_date_now, @srez_date_last as srez_date_last, @rep_out_date as rep_out_date, @fond_name as fond_name, @control_name as control_name, @head_name as head_name, @head_staff as head_staff, @buch_name as buch_name, @sd_name as sd_name, @fond_info as fond_info, @control_info as control_info, @lic_no as lic_no, @lic_autor as lic_autor .END $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SCHA_2006_LIST) name=Отчет Справка СЧА (2006) - перечень class=4 filter=null target_state= uo=null dw=d_pif_scha_2006_list procedure=ap_pif_scha_2006_list patterns=null user_define=1 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) create procedure dbo.%PROC% @sid varchar(30) = null as set nocount on declare @id numeric(18,0) if @sid='' select @sid=null select @id=convert(numeric(18,0),@sid) create table #assets ( acc_id numeric(18,0) not null, asset_id numeric(18,0) not null, sum_now decimal(18,8) null, sum_last decimal(18,8) null, is_rate int null, asset_type_id numeric(18,0) null, -- значение класс.,определяющего тип актива owner_type_id numeric(18,0) null, -- значение класс.,определяющего принадлежность актива, row int null ) create table #lines ( row int not null, row_name varchar(255) not null, row_code varchar(10) null, sum_now decimal(36,8) null, sum_last decimal(36,8) null, sum_now_str varchar(40) null, sum_last_str varchar(40) null -- sum_now .PIF_PAY_TYPE null, -- sum_last .PIF_PAY_TYPE null ) -- Определение структуры отчета insert into #lines (row,row_name,row_code) select 9,'Активы:',null union select 10,'Денежные средства на счетах - всего, в том числе:','010' union select 11,' - в рублях','011' union select 12,' - в иностранной валюте','012' union select 20,'Денежные средства во вкладах - всего, в том числе:','020' union select 21,' - в рублях','021' union select 22,' - в иностранной валюте','022' union select 30,'Государственные ценные бумаги Российской Федерации','030' union select 40,'Государственные ценные бумаги субъектов Российской Федерации','040' union select 50,'Муниципальные ценные бумаги','050' union select 60,'Облигации российских хозяйственных обществ (кроме облигаций с ипотечным покрытием)','060' union select 70,'Акции российских акционерных обществ','070' union select 80,'Инвестиционные паи паевых инвестиционных фондов','080' union select 90,'Ипотечные ценные бумаги - всего, в том числе:','090' union select 91,' - облигации с ипотечным покрытием','091' union select 92,' - ипотечные сертификаты участия','092' union select 100,'Векселя, выданные российскими хозяйственными обществами','100' union select 110,'Ценные бумаги иностранных эмитентов - всего, в том числе:','110' union select 111,' - ценные бумаги иностранных государств','111' union select 112,' - ценные бумаги международных финансовых организаций','112' union select 113,' - акции иностранных акционерных обществ','113' union select 114,' - облигации иностранных коммерческих организаций','114' union select 120,'Закладные','120' union select 130,'Денежные требования по обеспеченным ипотекой обязательствам из кредитных договоров или договоров займа'+ 'и права залогодержателя по договорам об ипотеке (за исключением удостоверенных закладными)','130' union select 140,'Денежные требования по обязательствам из кредитных договоров, по которым кредиты предоставлены для '+ 'уплаты цены по договорам участия в долевом строительстве объектов недвижимого имущества '+ 'и права залогодержателя по договорам залога имущественных прав','140' union select 150,'Доли в российских обществах с ограниченной ответственностью','150' union select 160,'Недвижимое имущество, находящееся на территории Российской Федерации - всего, в том числе:','160' union select 161,' - объекты незавершенного строительства','161' union select 170,'Недвижимое имущество, находящееся на территории иностранных государств - всего, в том числе:','170' union select 171,' - объекты незавершенного строительства','171' union select 180,'Имущественные права на недвижимое имущество, находящееся на территории Российской Федерации - всего, в том числе:','180' union select 181,' - право аренды недвижимого имущества','181' union select 190,'Имущественные права на недвижимое имущество, находящееся на территории иностранных государств - всего, в том числе:','190' union select 191,' - право аренды недвижимого имущества','191' union select 200,'Имущественные права по обязательствам из договоров участия в долевом строительстве объектов недвижимого имущества','200' union select 210,'Имущественные права по обязательствам из инвестиционных договоров','210' union select 220,'Имущественные права по обязательствам из договоров, на основании которых осуществляется строительство '+ '(создание) объектов недвижимости на земельном участке, составляющих активы акционерного инвестиционного '+ 'фонда или активы паевого инвестиционного фонда','220' union select 230,'Имущественные права по обязательствам из договоров, на основании которых осуществляется реконструкция '+ 'объектов недвижимости, составляющих активы акционерного инвестиционного '+ 'фонда или активы паевого инвестиционного фонда','230' union select 240,'Проектно-сметная документация','240' union select 250,'Иное имущество','250' union select 260,'Дебиторская задолженность - всего, в том числе:','260' union select 261,' - средства, находящиеся у профессиональных участников рынка ценных бумаг','261' union select 262,' - дебиторская задолженность по сделкам купли-продажи имущества','262' union select 263,' - дебиторская задолженность по процентному (купонному) доходу по денежным средствам на счетах, во вкладах и по ценным бумагам','263' union select 264,' - прочая дебиторская задолженность','264' union select 270,'Итого сумма активов: (строки 010 + 020 + 030 + 040 + 050 + 060 + 070 + 080 + 090 + 100 + 110 +'+ ' 120 + 130 + 140 + 150 + 160 + 170 + 180 + 190 + 200 + 210 + 220 + 230 + 240 + 250 + 260)','270' union select 299,'Обязательства:',null union select 300,'Кредиторская задолженность','300' union select 310,'Резерв предстоящих расходов на выплату вознаграждения','310' union select 320,'Резерв для возмещения предстоящих расходов, связанных с доверительным управлением открытым паевым инвестиционным фондом','320' union select 330,'Итого сумма обязательств: (строки 300 + 310 + 320)','330' union select 400,'Стоимость чистых активов: (строка 270 - строка 330)','400' union select 500,'Количество размещенных акций акционерного инвестиционного фонда '+ '(количество выданных инвестиционных паев паевого инвестиционного фонда) - штук','500' union select 600,'Стоимость чистых активов акционерного инвестиционного фонда в расчете на одну акцию '+ '(расчетная стоимость инвестиционного пая паевого инвестиционного фонда (строка 400 / строка 500)','600' -- Переменные declare @srez_date datetime, @scha_sum_now decimal(36,8), @scha_sum_last decimal(36,8), @pay_price_calc decimal(36,16), @pay_price_now decimal(36,16), @pay_price_last decimal(36,16), @pay_price decimal(18,8), @pay_price_srez decimal(18,8), @pays_qty .PIF_PAY_TYPE, @pays_qty_last .PIF_PAY_TYPE, @last_srez_id numeric(18,0) declare @plan_id numeric(18,0), @fund_id numeric(18,0), @acc51_id numeric(18,0), @acc50_id numeric(18,0), @acc57_id numeric(18,0), @acc581_id numeric(18,0), @acc582_id numeric(18,0), @acc583_id numeric(18,0), @acc766_id numeric(18,0), @acc767_id numeric(18,0), @acc7610_id numeric(18,0), @acc7612_id numeric(18,0), @acc7613_id numeric(18,0), @acc7615_id numeric(18,0), @acc7616_id numeric(18,0), @acc7651_id numeric(18,0), @acc7652_id numeric(18,0), @acc7653_id numeric(18,0), @acc551_id numeric(18,0), @acc7655_id numeric(18,0), @acc011_id numeric(18,0), @acc081_id numeric(18,0), @acc961_id numeric(18,0), @acc962_id numeric(18,0), @acc963_id numeric(18,0), @acc969_id numeric(18,0), @acc68_id numeric(18,0), @acc7659_id numeric(18,0) declare @class_stock_type_id numeric(18,0), @class_emitent_type_id numeric(18,0), @class_asset_type_id numeric(18,0), @value_foreign_owner_id numeric(18,0), @value_foreign_state_owner_id numeric(18,0), @value_foreign_fin_org_ownr_id numeric(18,0), @value_nogos_owner_id numeric(18,0), @value_pifpay_stock_id numeric(18,0), @value_bill_stock_id numeric(18,0), @value_share_stock_id numeric(18,0), @value_bond_stock_id numeric(18,0), @value_sert_m_stock_id numeric(18,0), @value_bond_m_stock_id numeric(18,0), @value_gos_owner_id numeric(18,0), @value_gos_sub_owner_id numeric(18,0), @value_municipal_owner_id numeric(18,0), @value_rus_econom_comp_ownr_id numeric(18,0), @value_part_of_ooo_id numeric(18,0), @value_building_docs_id numeric(18,0), @value_money_clms_mort_liab_id numeric(18,0), @value_money_clms_2mrt_liab_id numeric(18,0), @value_money_clms_crd_ctrct_id numeric(18,0), @value_building_rf_id numeric(18,0), @value_building_foreign_id numeric(18,0), @value_bld_undr_cnstr_rf_id numeric(18,0), @value_bld_undr_cnstr_frgn_id numeric(18,0), @value_vested_interests_rf_id numeric(18,0), @value_vested_itrsts_frgn_id numeric(18,0), @value_tnnt_rght_imm_rf_id numeric(18,0), @value_tnnt_rght_imm_frgn_id numeric(18,0), @value_interest_contract_id numeric(18,0), @value_intrst_cntrct_inv_id numeric(18,0), @value_other_id numeric(18,0), @interest_liab_build_cntrct_id numeric(18,0), @interest_liab_recon_cntrct_id numeric(18,0) select @srez_date=srez_date, @pays_qty=isnull(stock_qty,0), @pay_price_calc=isnull(stock_price,0), @fund_id=fond_id, @last_srez_id=startsrez_id from tp_pif_srez where tp_pif_srez.id = @id -- Иницилизация переменных select @plan_id=.ARG_PLAN('PIF_ACCOUNT') select @acc51_id = .SD_ACCID_FROM_EFFNO(@plan_id,'51') select @acc50_id = .SD_ACCID_FROM_EFFNO(@plan_id,'50') select @acc57_id = .SD_ACCID_FROM_EFFNO(@plan_id,'57') select @acc581_id = .SD_ACCID_FROM_EFFNO(@plan_id,'58.1') select @acc582_id = .SD_ACCID_FROM_EFFNO(@plan_id,'58.2') select @acc583_id = .SD_ACCID_FROM_EFFNO(@plan_id,'58.3') select @acc766_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.6') select @acc767_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.7') select @acc7610_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.10') select @acc7612_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.12') select @acc7613_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.13') select @acc7615_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.15') select @acc7616_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.16') select @acc7651_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.1') select @acc7652_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.2') select @acc7653_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.3') select @acc551_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.4') select @acc7655_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.5') select @acc7659_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.9') select @acc011_id = .SD_ACCID_FROM_EFFNO(@plan_id,'01.1') select @acc081_id = .SD_ACCID_FROM_EFFNO(@plan_id,'08.1') select @acc961_id = .SD_ACCID_FROM_EFFNO(@plan_id,'89.1') select @acc963_id = .SD_ACCID_FROM_EFFNO(@plan_id,'89.3') select @acc969_id = .SD_ACCID_FROM_EFFNO(@plan_id,'96.9') select @acc68_id = .SD_ACCID_FROM_EFFNO(@plan_id,'68') if .GET_CLASS_VALUE_CODE_FOR_ITEM(@fund_id,'PIF_OTHER_RESERVE','IN_SCHA')='IN_SCHA' select @acc962_id = .SD_ACCID_FROM_EFFNO(@plan_id,'89.2') -- счет 96.2 по новому плану else select @acc962_id = -1 -- Тип класс-ра "Виды ЦБ" select @class_stock_type_id=max(id) from t_nclass_types where upper(class_code) = 'STOCK_TYPE' -- Тип класс-ра "Принадлежность ЦБ" select @class_emitent_type_id=max(id) from t_nclass_types where upper(class_code) = 'STOCK_EMITENT_TYPE' -- Тип класс-ра "Виды прочих активов" select @class_asset_type_id=max(id) from t_nclass_types where upper(class_code) = 'ASSET_TYPE_OTHER' -- Значение "Иностранные ЦБ" класс-ра "Принадлежность ЦБ" select @value_foreign_owner_id=max(id) from t_nclass_values where class_type_id=@class_emitent_type_id and upper(value_code) = 'STOCK_FOREIGN_PARTNER' -- Значение "Иностранные ЦБ" класс-ра "Принадлежность ЦБ" select @value_nogos_owner_id=max(id) from t_nclass_values where class_type_id=@class_emitent_type_id and upper(value_code) = 'STOCK_NOTGOS_PARTNER' -- Значение "ЦБ иностранных государств" класс-ра "Принадлежность ЦБ" select @value_foreign_state_owner_id=max(id) from t_nclass_values where class_type_id=@class_emitent_type_id and upper(value_code) = 'STOCK_FOREIGN_STATE' -- Значение "ЦБ иностранных государств" класс-ра "Принадлежность ЦБ" select @value_foreign_fin_org_ownr_id=max(id) from t_nclass_values where class_type_id=@class_emitent_type_id and upper(value_code) = 'STOCK_FOREIGN_FIN_ORG' -- Значение "Государственные ЦБ" класс-ра "Принадлежность ЦБ" select @value_gos_owner_id=max(id) from t_nclass_values where class_type_id = @class_emitent_type_id and upper(value_code) = 'STOCK_GOS_PARTNER' -- Значение "Государственные ЦБ субъектов РФ" класс-ра "Принадлежность ЦБ" select @value_gos_sub_owner_id=max(id) from t_nclass_values where class_type_id = @class_emitent_type_id and upper(value_code) = 'STOCK_SUB_FED' -- Значение "Муниципальные ЦБ" класс-ра "Принадлежность ЦБ" select @value_municipal_owner_id=max(id) from t_nclass_values where class_type_id = @class_emitent_type_id and upper(value_code) = 'STOCK_MUNICIPAL' -- Значение "ЦБ российских хоз. обществ" класс-ра "Принадлежность ЦБ" select @value_rus_econom_comp_ownr_id=max(id) from t_nclass_values where class_type_id = @class_emitent_type_id and upper(value_code) = 'STOCK_RUS_ECONOM_COMP' -- Значение "Вексель" класс-ра "Виды ЦБ" select @value_bill_stock_id=max(id) from t_nclass_values where class_type_id = @class_stock_type_id and upper(value_code) = 'VEKS' -- Значение "Акция" класс-ра "Виды ЦБ" select @value_share_stock_id=max(id) from t_nclass_values where class_type_id = @class_stock_type_id and upper(value_code) = 'STOCK' -- Значение "Облигация" класс-ра "Виды ЦБ" select @value_bond_stock_id=max(id) from t_nclass_values where class_type_id = @class_stock_type_id and upper(value_code) = 'OBLIG' -- Значение "Пай паевого фонда" класс-ра "Виды ЦБ" select @value_pifpay_stock_id=max(id) from t_nclass_values where class_type_id = @class_stock_type_id and upper(value_code) = 'PIFPAY' -- Значение "Ипотечный сертификат" класс-ра "Виды ЦБ" select @value_sert_m_stock_id=max(id) from t_nclass_values where class_type_id = @class_stock_type_id and upper(value_code) = 'SERT_MORTGAGE' -- Значение "Облигации с ипотечным покрытием" класс-ра "Виды ЦБ" select @value_bond_m_stock_id=max(id) from t_nclass_values where class_type_id = @class_stock_type_id and upper(value_code) = 'BOND_MORTGAGE' -- Значение "Доля в уставном капитале ООО" класс-ра "Виды прочих активов" select @value_part_of_ooo_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'PART_OF_OOO' -- Значение "Проектно-сметная док-ция" класс-ра "Виды прочих активов" select @value_building_docs_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'BUILDING_DOCS' -- Значение "Ден. требования по обеспеченным ипотекой обязательствам" класс-ра "Виды прочих активов" select @value_money_clms_mort_liab_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'MONEY_CLAIMS_MORT_LIAB' -- Значение "Ден. требования по обеспеченным ипотекой обязательствам (удост. закладными)" класс-ра "Виды прочих активов" select @value_money_clms_2mrt_liab_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'MONEY_CLAIMS_MORT_LIAB_MORT' -- Значение "Ден. требования по обязательствам из кредитных договоров" класс-ра "Виды прочих активов" select @value_money_clms_crd_ctrct_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'MONEY_CLAIMS_CRED_CONTRACT' -- Значение "Недвижимое имущество на территории РФ" класс-ра "Виды прочих активов" select @value_building_rf_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'BUILDING_RF' -- Значение "Недвижимое имущество на территории иностранных государств" класс-ра "Виды прочих активов" select @value_building_foreign_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'BUILDING_FOREIGN' -- Значение "Объекты незавершенного строительства на тер-ии РФ" класс-ра "Виды прочих активов" select @value_bld_undr_cnstr_rf_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'BUILDING_UNDER_CONSTR_RF' -- Значение "Объекты незавершенного строительства на территории иностранных государств" класс-ра "Виды прочих активов" select @value_bld_undr_cnstr_frgn_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'BUILDING_UNDER_CONSTR_FOREIGN' -- Значение "Имущественные права на имущество на территории РФ" класс-ра "Виды прочих активов" select @value_vested_interests_rf_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'VESTED_INTERESTS_RF' -- Значение "Имущественные права на имущественные права на терр. иностарнных государств" класс-ра "Виды прочих активов" select @value_vested_itrsts_frgn_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'VESTED_INTERESTS_FOREIGN' -- Значение "Право аренды недвижимого имущества на территории РФ" класс-ра "Виды прочих активов" select @value_tnnt_rght_imm_rf_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'TENANT_RIGHT_IMMOVABL_RF' -- Значение "Право аренды недвижимого имущества на территории иностранных государств" класс-ра "Виды прочих активов" select @value_tnnt_rght_imm_frgn_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'TENANT_RIGHT_IMMOVABL_FOREIGN' -- Значение "Имущественные права по договорам участия" класс-ра "Виды прочих активов" select @value_interest_contract_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'INTEREST_CONTRACT' -- Значение "Имущественные права по инвестиционным договорам" класс-ра "Виды прочих активов" select @value_intrst_cntrct_inv_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'INTEREST_CONTRACT_INVESTMENT' -- Значение "Прочие активы" класс-ра "Виды прочих активов" select @value_other_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'OTHER' -- Значение "Имущественные права по обязательствам из договоров строительства" класс-ра "Виды прочих активов" select @interest_liab_build_cntrct_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'INTEREST_LIABILITY_BUILD_CONTR' -- Значение "Имущественные права по обязательствам из договоров реконструкции" класс-ра "Виды прочих активов" select @interest_liab_recon_cntrct_id=max(id) from t_nclass_values where class_type_id = @class_asset_type_id and upper(value_code) = 'INTEREST_LIABILITY_RECON_CONTR' -- -- Расчет денежных средств -- -- 011 (Денежные средства в рублях (now) update #lines set sum_now=(select sum(isnull(b.saldo_deb,0))-sum(isnull(b.saldo_cred,0)) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id in (@acc50_id, @acc51_id, @acc57_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where row = 11 -- 011 (Денежные средства в рублях (last) update #lines set sum_last=(select sum(isnull(b.saldo_deb,0))-sum(isnull(b.saldo_cred,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id and b.acc_id in (@acc50_id, @acc51_id, @acc57_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where row = 11 /* -- Валютные счета пока не считаем -- 012 (Денежные средства в валюте (now) update #lines set sum_now=(select sum(isnull(b.saldo_deb,0))-sum(isnull(b.saldo_cred,0)) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id in (@acc50_id, @acc51_id, @acc57_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where row = 12 -- 012 (Денежные средства в валюте (last) update #lines set sum_last=(select sum(isnull(b.saldo_deb,0))-sum(isnull(b.saldo_cred,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id and b.acc_id in (@acc50_id, @acc51_id, @acc57_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where row = 12 */ -- 021 (Депозиты в рублях (now) update #lines set sum_now=(select sum(isnull(b.bal_sum,0)) from tp_pif_srez_portfolio b where b.srez_id = @id and b.acc_id in (@acc582_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_ACCOUNTS')) where row = 21 -- 021 (Депозиты в рублях (last) update #lines set sum_last=(select sum(isnull(b.bal_sum,0)) from tp_pif_srez_portfolio b where b.srez_id = @last_srez_id and b.acc_id in (@acc582_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_ACCOUNTS')) where row = 21 /* -- Валютные депозиты пока не считаем -- 022 (Депозиты в валюте (now) update #lines set sum_now=(select sum(isnull(b.bal_sum,0)) from tp_pif_srez_portfolio b where b.srez_id = @id and b.acc_id in (@acc582_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_ACCOUNTS')) where row = 22 -- 022 (Депозиты в валюте (last) update #lines set sum_last=(select sum(isnull(b.bal_sum,0)) from tp_pif_srez_portfolio b where b.srez_id = @last_srez_id and b.acc_id in (@acc582_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_ACCOUNTS')) where row = 22 */ -- Отбор ЦБ (now) insert into #assets (acc_id, asset_id, sum_now, asset_type_id, owner_type_id) select p.acc_id, p.stock_id, p.stock_sum, isnull((select max(class_value_id) from t_nclass_value2item where item_id = p.stock_id and class_value_id is not null and class_type_id = @class_stock_type_id),0), isnull((select max(class_value_id) from t_nclass_value2item where item_id = p.stock_id and class_value_id is not null and class_type_id = @class_emitent_type_id),0) from tp_pif_srez_portfolio p where p.srez_id = @id and p.acc_id = @acc581_id and .ITEMS_EXISTS_BY_TYPE(p.id,'PIF_SREZ_PORTFOLIO') -- Отбор ЦБ (last) insert into #assets (acc_id, asset_id, sum_last, asset_type_id, owner_type_id) select p.acc_id, p.stock_id, p.stock_sum, isnull((select max(class_value_id) from t_nclass_value2item where item_id = p.stock_id and class_value_id is not null and class_type_id = @class_stock_type_id),0), isnull((select max(class_value_id) from t_nclass_value2item where item_id = p.stock_id and class_value_id is not null and class_type_id = @class_emitent_type_id),0) from tp_pif_srez_portfolio p where p.srez_id = @last_srez_id and p.acc_id = @acc581_id and .ITEMS_EXISTS_BY_TYPE(p.id,'PIF_SREZ_PORTFOLIO') and not exists(select 1 from #assets where #assets.asset_id = p.stock_id) -- Отбор ЦБ (last) update #assets set sum_last=p.stock_sum from tp_pif_srez_portfolio p where p.srez_id = @last_srez_id and p.acc_id = @acc581_id and .ITEMS_EXISTS_BY_TYPE(p.id,'PIF_SREZ_PORTFOLIO') and #assets.asset_id = p.stock_id -- Отбор недвижимости и прочих активов (now) insert into #assets (acc_id, asset_id, sum_now, asset_type_id, owner_type_id) select p.acc_id, p.stock_id, p.stock_sum, isnull((select max(n.class_value_id) from t_nclass_value2item n where n.item_id = p.stock_id and n.class_value_id is not null and n.class_type_id = @class_asset_type_id and n.set_date is not null and n.set_date = (select max(nn.set_date) from t_nclass_value2item nn where nn.item_id = p.stock_id and nn.class_value_id is not null and nn.class_type_id = @class_asset_type_id and nn.set_date is not null and nn.set_date < dateadd(dd,1,@srez_date))),0), null from tp_pif_srez_portfolio p where p.srez_id = @id and p.acc_id in (@acc011_id,@acc081_id,@acc583_id) and .ITEMS_EXISTS_BY_TYPE(p.id,'PIF_SREZ_ACCOUNTS') -- Отбор недвижимости и прочих активов (last) insert into #assets (acc_id, asset_id, sum_last, asset_type_id, owner_type_id) select p.acc_id, p.stock_id, p.stock_sum, isnull((select max(n.class_value_id) from t_nclass_value2item n where n.item_id = p.stock_id and n.class_value_id is not null and n.class_type_id = @class_asset_type_id and n.set_date is not null and n.set_date = (select max(nn.set_date) from t_nclass_value2item nn where nn.item_id = p.stock_id and nn.class_value_id is not null and nn.class_type_id = @class_asset_type_id and nn.set_date is not null and nn.set_date < dateadd(dd,1,@srez_date))),0), null from tp_pif_srez_portfolio p where p.srez_id = @last_srez_id and p.acc_id in (@acc011_id,@acc081_id,@acc583_id) and .ITEMS_EXISTS_BY_TYPE(p.id,'PIF_SREZ_ACCOUNTS') and not exists(select 1 from #assets where #assets.asset_id = p.stock_id) -- Отбор недвижимости и прочих активов (last) update #assets set sum_last=p.stock_sum from tp_pif_srez_portfolio p where p.srez_id = @last_srez_id and p.acc_id in (@acc011_id,@acc081_id,@acc583_id) and .ITEMS_EXISTS_BY_TYPE(p.id,'PIF_SREZ_ACCOUNTS') and #assets.asset_id = p.stock_id -- -- Расчет ЦБ -- -- 030 (Государственные ЦБ РФ) update #assets set row=30 where #assets.owner_type_id = @value_gos_owner_id and #assets.asset_type_id = @value_bond_stock_id -- 040 (Государственные ЦБ субъектов РФ) update #assets set row=40 where #assets.owner_type_id = @value_gos_sub_owner_id and #assets.asset_type_id = @value_bond_stock_id -- 050 (Муниципальные ЦБ) update #assets set row=50 where #assets.owner_type_id = @value_municipal_owner_id and #assets.asset_type_id = @value_bond_stock_id -- 060 (Облигации российских хоз. обществ) update #assets set row=60 where #assets.owner_type_id = @value_nogos_owner_id and #assets.asset_type_id = @value_bond_stock_id -- 070 (Акции российских АО) update #assets set row=70 where #assets.owner_type_id = @value_nogos_owner_id and #assets.asset_type_id = @value_share_stock_id -- 080 (Инвестиционные паи) update #assets set row=80 where #assets.owner_type_id not in (@value_foreign_owner_id, @value_foreign_state_owner_id, @value_foreign_fin_org_ownr_id) and #assets.asset_type_id = @value_pifpay_stock_id -- 091 (Ипотечные ЦБ, облигации с ипотечным покрытием) update #assets set row=91 where #assets.owner_type_id not in (@value_foreign_owner_id, @value_foreign_state_owner_id, @value_foreign_fin_org_ownr_id) and #assets.asset_type_id = @value_bond_m_stock_id -- 092 (Ипотечные ЦБ, ипотечные сертификаты участия) update #assets set row=92 where #assets.owner_type_id not in (@value_foreign_owner_id, @value_foreign_state_owner_id, @value_foreign_fin_org_ownr_id) and #assets.asset_type_id = @value_sert_m_stock_id -- 100 (Векселя выданные российскими хоз. обществами) update #assets set row=100 where #assets.owner_type_id not in (@value_foreign_owner_id, @value_foreign_state_owner_id, @value_foreign_fin_org_ownr_id) and #assets.asset_type_id = @value_bill_stock_id -- 111 (ЦБ иностранных государств) update #assets set row=111 where #assets.owner_type_id = @value_foreign_state_owner_id and #assets.asset_type_id = @value_bond_stock_id -- 112 (ЦБ международных финансовых орг-ий) update #assets set row=112 where #assets.owner_type_id = @value_foreign_fin_org_ownr_id and #assets.asset_type_id in (@value_bill_stock_id, @value_share_stock_id, @value_bond_stock_id, @value_share_stock_id, @value_sert_m_stock_id, @value_bond_m_stock_id) -- 113 (Акции иностранных АО) update #assets set row=113 where #assets.owner_type_id = @value_foreign_owner_id and #assets.asset_type_id = @value_share_stock_id -- 114 (Облигации иностранных коммерческих организаций) update #assets set row=114 where #assets.owner_type_id = @value_foreign_owner_id and #assets.asset_type_id = @value_bond_stock_id -- 120 (Закладные) /* Закладные пока не считаем, ввиду их отсутствия в системе */ -- 130 (Денежные требования по обеспеченным ипотекой обязательствам) update #assets set row=130 where acc_id = @acc583_id and #assets.asset_type_id = @value_money_clms_mort_liab_id -- 140 (Денежные требования по обеспеченным ипотекой обязательствам update #assets set row=140 where acc_id = @acc583_id and #assets.asset_type_id in (@value_money_clms_2mrt_liab_id, @value_money_clms_crd_ctrct_id) -- 150 (Доли в российских ООО) update #assets set row=150 where acc_id = @acc583_id and #assets.asset_type_id = @value_part_of_ooo_id -- 160 (Недвижимое имущество на терр. РФ) update #assets set row=1 where acc_id in (@acc011_id,@acc081_id) and #assets.asset_type_id = @value_building_rf_id -- 161 (Объекты незавершенного строительства на терр. РФ) update #assets set row=151 where acc_id in (@acc011_id,@acc081_id) and #assets.asset_type_id = @value_bld_undr_cnstr_rf_id -- 170 (Недвижимое имущество на терр. ин. гос-в) update #assets set row=170 where acc_id in (@acc011_id,@acc081_id) and #assets.asset_type_id = @value_building_foreign_id -- 171 (Объекты незавершенного строительства на терр. ин. гос-в) update #assets set row=171 where acc_id in (@acc011_id,@acc081_id) and #assets.asset_type_id = @value_bld_undr_cnstr_frgn_id -- 180 (Имущественные права на имущество на терр. РФ) update #assets set row=180 where acc_id in (@acc583_id,@acc081_id) and #assets.asset_type_id = @value_vested_interests_rf_id -- 181 (Право аренды недвижимого имущества на терр. РФ) update #assets set row=181 where acc_id in (@acc583_id,@acc081_id) and #assets.asset_type_id = @value_tnnt_rght_imm_rf_id -- 190 (Имущественные права на имущество на терр. ин. гос-в) update #assets set row=190 where acc_id in (@acc583_id,@acc081_id) and #assets.asset_type_id = @value_vested_itrsts_frgn_id -- 191 (Право аренды недвижимого имущества на терр. ин. гос-в) update #assets set row=191 where acc_id in (@acc583_id,@acc081_id) and #assets.asset_type_id = @value_tnnt_rght_imm_frgn_id -- 200 (Имущественные права по договорам участия) update #assets set row=200 where acc_id in (@acc583_id,@acc081_id) and #assets.asset_type_id = @value_interest_contract_id -- 210 (Имущественные права по инвестиционным договорам) update #assets set row=210 where acc_id in (@acc583_id,@acc081_id) and #assets.asset_type_id = @value_intrst_cntrct_inv_id -- 220 (Имущественные права по обязательствам из договоров строительства) update #assets set row=220 where acc_id in (@acc583_id,@acc081_id) and #assets.asset_type_id = @interest_liab_build_cntrct_id -- 230 (Имущественные права по обязательствам из договоров реконструкции) update #assets set row=230 where acc_id in (@acc583_id,@acc081_id) and #assets.asset_type_id = @interest_liab_recon_cntrct_id -- 240 (Проектно-сметная док-ция) update #assets set row=240 where acc_id in (@acc011_id, @acc081_id, @acc583_id) and #assets.asset_type_id = @value_building_docs_id -- 250 (Иное имущество) update #assets set row=250 where acc_id in (@acc583_id,@acc081_id) and #assets.asset_type_id = @value_other_id -- 260 (Деб.задолженность (now) update #lines set sum_now=(select sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @id and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PARTNERS')) where row = 260 -- 260 (Деб.задолженность (last) update #lines set sum_last=(select sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PARTNERS')) where row = 260 -- 261 (Проф.участники (now) update #lines set sum_now=isnull(sum_now,0)+isnull((select sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id in (@acc551_id, @acc7659_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')),0) where row in (261) -- 261 (Проф.участники (last) update #lines set sum_last=isnull(sum_last,0)+isnull((select sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id and b.acc_id in (@acc551_id, @acc7659_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')),0) where row in (261) -- 262 (Сделки по купли-продаже имущества (now) update #lines set sum_now=(select sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id in (@acc7651_id, @acc7652_id, @acc7653_id, @acc7655_id, @acc7612_id, @acc7613_id, @acc7615_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PARTNERS')) where row = 262 -- 262 (Сделки по купли-продаже имущества (last) update #lines set sum_last=(select sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id and b.acc_id in (@acc7651_id, @acc7652_id, @acc7653_id, @acc7655_id, @acc7612_id, @acc7613_id, @acc7615_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PARTNERS')) where row = 262 -- 263-1 (Купоны и % по депозитам (now) update #lines set sum_now=(select sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id in (@acc7610_id, @acc7616_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PARTNERS')) where row = 263 -- 263-1 (Купоны и % по депозитам (last) update #lines set sum_last=(select sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id and b.acc_id in (@acc7610_id, @acc7616_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PARTNERS')) where row = 263 -- 263-2 (НКД по котировкам (в оценку по 263 (now) update #lines set sum_now=isnull(#lines.sum_now,0) + isnull((select sum(b.coupon_sum) from tp_pif_srez_portfolio b where b.srez_id = @id and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PORTFOLIO')),0) where row in (260, 263) -- 263-2 (НКД по котировкам (в оценку по 263 (last) update #lines set sum_last=isnull(#lines.sum_last,0) + isnull((select sum(b.coupon_sum) from tp_pif_srez_portfolio b where b.srez_id = @last_srez_id and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PORTFOLIO')),0) where row in (260, 263) -- 263-3 (УНКД по балансу (в бал.ст-ть по 263 (now) if .GET_CLASS_VALUE_CODE_FOR_ITEM(@fund_id,'SELECT_UNKD_IN_SCHA_REP','OFF') = 'ON' update #lines set sum_now=isnull(#lines.sum_now,0)+ isnull((select sum(isnull(b.saldo_deb,0))-sum(isnull(b.saldo_cred,0)) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id in (@acc766_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')),0) where row in (260,263) -- 263-3 (УНКД по балансу (в бал.ст-ть по 263 (last) if .GET_CLASS_VALUE_CODE_FOR_ITEM(@fund_id,'SELECT_UNKD_IN_SCHA_REP','OFF') = 'ON' update #lines set sum_last=isnull(#lines.sum_last,0) + isnull((select sum(isnull(b.saldo_deb,0))-sum(isnull(b.saldo_cred,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id and b.acc_id in (@acc766_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')),0) where row in (260,263) -- 264-1 (Прочая деб. задолженность (now, last) update #lines set sum_now=(select isnull(sum_now,0) from #lines where row = 260) - (select sum(isnull(sum_now,0)) from #lines where row in (261, 262, 263)), sum_last=(select isnull(sum_last,0) from #lines where row = 260) - (select sum(isnull(sum_last,0)) from #lines where row in (261, 262, 263)) where row = 264 -- -- Итого -- -- Итого в отчет (now, last) update #lines set sum_now=isnull((select sum(#assets.sum_now) from #assets where #assets.row = #lines.row and #assets.row is not null),0), sum_last=isnull((select sum(#assets.sum_last) from #assets where #assets.row = #lines.row and #assets.row is not null),0) from #assets where #assets.row = #lines.row -- -- Сводные пункты в отчете -- -- 010 (Итого денежных средств (now, last) update #lines set sum_now=(select sum(sum_now) from #lines where row in (11,12)), sum_last=(select sum(sum_last) from #lines where row in (11,12)) where row = 10 -- 020 (Итого депозитов (now, last) update #lines set sum_now=(select sum(sum_now) from #lines where row in (21,22)), sum_last=(select sum(sum_last) from #lines where row in (21,22)) where row = 20 -- 90 (Итого по 91, 92 в отчет (now, last) update #lines set sum_now=isnull((select sum(#assets.sum_now) from #assets where #assets.row in (91, 92)),0), sum_last=isnull((select sum(#assets.sum_last) from #assets where #assets.row in (91, 92)),0) where #lines.row = 90 -- 110 (Итого по 111, 112, 113, 114 в отчет (now, last) update #lines set sum_now=isnull((select sum(#assets.sum_now) from #assets where #assets.row in (111, 112, 113, 114)),0), sum_last=isnull((select sum(#assets.sum_last) from #assets where #assets.row in (111, 112, 113, 114)),0) where #lines.row = 110 -- 160 (Итого 160 + 161 (now, last) update #lines set sum_now=isnull(sum_now,0)+isnull((select sum_now from #lines where row = 161),0), sum_last=isnull(sum_last,0)+isnull((select sum_last from #lines where row = 161),0) where row = 160 -- 170 (Итого 170 + 171 (now, last) update #lines set sum_now=isnull(sum_now,0)+isnull((select sum_now from #lines where row = 171),0), sum_last=isnull(sum_last,0)+isnull((select sum_last from #lines where row = 171),0) where row = 170 -- 180 (Итого 180 + 181 (now, last) update #lines set sum_now=isnull(sum_now,0)+isnull((select sum_now from #lines where row = 181),0), sum_last=isnull(sum_last,0)+isnull((select sum_last from #lines where row = 181),0) where row = 180 -- 190 (Итого 190 + 191 (now, last) update #lines set sum_now=isnull(sum_now,0)+isnull((select sum_now from #lines where row = 191),0), sum_last=isnull(sum_last,0)+isnull((select sum_last from #lines where row = 191),0) where row = 190 -- 270 (Итого сумма активов (now, last) update #lines set sum_now=isnull(sum_now,0)+isnull((select sum(sum_now) from #lines where row in (10,20,30,40,50,60,70,80,90,100,110,120,130, 140,150,160,170,180,190,200,210,220,230,240,250,260)),0), sum_last=isnull(sum_last,0)+isnull((select sum(sum_last) from #lines where row in (10,20,30,40,50,60,70,80,90,100,110,120,130, 140,150,160,170,180,190,200,210,220,230,240,250,260)),0) where row = 270 -- 300 (Кред. задолженность (now) update #lines set sum_now=(select sum(isnull(b.saldo_cred,0)) from tp_pif_srez_balance b where b.srez_id = @id and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PARTNERS')) where row = 300 -- 300 (Кред. задолженность (last) update #lines set sum_last=(select sum(isnull(b.saldo_cred,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_PARTNERS')) where row = 300 -- 300 (Налог (now) update #lines set sum_now=isnull(#lines.sum_now,0)+ isnull((select sum(isnull(b.saldo_cred,0))-sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id in (select id from t_accounts where parent_id = @acc68_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')),0) where row = 300 -- 300 (Налог (last) update #lines set sum_last=isnull(#lines.sum_last,0)+ isnull((select sum(isnull(b.saldo_cred,0))-sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id and b.acc_id in (select id from t_accounts where parent_id = @acc68_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')),0) where row = 300 -- 310 (Резервы предстоящих расходов (now) update #lines set sum_now=(select sum(isnull(b.saldo_cred,0))-sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @id -- and b.acc_id in (@acc962_id, @acc963_id) -- @acc961_id and b.acc_id in (@acc961_id, @acc963_id, @acc969_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where row = 310 -- 310 (Резервы предстоящих расходов (last) update #lines set sum_last=(select sum(isnull(b.saldo_cred,0))-sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id -- and b.acc_id in (@acc962_id, @acc963_id) -- @acc961_id and b.acc_id in (@acc961_id, @acc963_id, @acc969_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where row = 310 -- 320 (Резервы ДУ (now) update #lines set sum_now=(select sum(isnull(b.saldo_cred,0))-sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id in (@acc962_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where row = 320 -- 320 (Резервы ДУ (last) update #lines set sum_last=(select sum(isnull(b.saldo_cred,0))-sum(isnull(b.saldo_deb,0)) from tp_pif_srez_balance b where b.srez_id = @last_srez_id and b.acc_id in (@acc962_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where row = 320 -- 330 (Итого 300 + 310 + 320 (now, last) update #lines set sum_now=isnull((select sum(sum_now) from #lines where row in (300, 310, 320)),0), sum_last=isnull((select sum(sum_last) from #lines where row in (300, 310, 320)),0) where row = 330 -- 400 (Итого 270 - 300 (now, last) update #lines set sum_now=isnull(((select isnull(sum_now,0) from #lines where row = 270) - (select isnull(sum_now,0) from #lines where row = 330)),0), sum_last=isnull(((select isnull(sum_last,0) from #lines where row = 270) - (select isnull(sum_last,0) from #lines where row = 330)),0) where row = 400 select @pays_qty_last=isnull((select stock_qty from tp_pif_srez where id = @last_srez_id),0) .PIF_ROUND_PAYS(@fund_id,@pays_qty,@pays_qty) .PIF_ROUND_PAYS(@fund_id,@pays_qty_last,@pays_qty_last) -- 500 (Кол-во паев (now, last) update #lines set sum_now=isnull(@pays_qty,0), sum_last=isnull(@pays_qty_last,0) where row = 500 -- СЧА select @scha_sum_now=isnull((select isnull(sum_now,0) from #lines where row = 400),0) select @scha_sum_last=isnull((select isnull(sum_last,0) from #lines where row = 400),0) -- Стоимость пая select @pay_price_now=convert(double precision,@scha_sum_now) / convert(double precision,@pays_qty) select @pay_price_last=convert(double precision,@scha_sum_last) / convert(double precision,@pays_qty_last) if isnull(@pays_qty_last,0) = 0 select @pays_qty_last=1 -- Округление стоимости пая .PIF_ROUND_MONEY(@fund_id,@pay_price_now,@pay_price_now) .PIF_ROUND_MONEY(@fund_id,@pay_price_last,@pay_price_last) if @pay_price_calc <> @pay_price_now select @pay_price_now=@pay_price_calc -- 600 (Итого 400 / 500 (now, last) update #lines set sum_now=@pay_price_now, sum_last=@pay_price_last where row = 600 -- select * from #assets -- Установка нулей update #lines set sum_now=0 where sum_now is null and row not in (9,299) update #lines set sum_last=0 where sum_last is null and row not in (9,299) update #lines set sum_now_str=.format_long_money(sum_now,2), sum_last_str=.format_long_money(sum_last,2) update #lines set sum_now_str=.format_long_money(sum_now,5), sum_last_str=.format_long_money(sum_last,5) where row_code='500' select row as row, row_name as row_name, row_code as row_code, convert(decimal(18,4),sum_now) as sum_now, convert(decimal(18,4),sum_last) as sum_last, sum_now_str, sum_last_str from #lines order by row drop table #lines drop table #assets $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SCHA_CH_2005) name=Отчет об изменении СЧА (2005) class=5 filter=null target_state= uo=uo_print dw=d_pif_scha_ch_2005 procedure=ap_pif_scha_ch_2005_rep patterns=null user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) create procedure dbo.%PROC% @sid varchar(30) = null as .BEGIN('N') .CHECK_USER .GET_PROPS declare @srez_date_now varchar(10), -- дата справки @srez_date_last varchar(10), -- дата предыдущей справки @rep_out_date varchar(30), -- дата определения стоимости @fond_name varchar(255), -- название фонда @control_name varchar(255), -- название УК @head_name varchar(255), -- ФИО уполномоченного лица УК @head_staff varchar(255), -- должность уполномоченного лица УК @buch_name varchar(255), -- ФИО бухгалтера @sd_name varchar(255), -- ФИО уполномоченного лица СД @fond_info varchar(255), -- дата и номер правил фонда @control_info varchar(255), -- местонахождение и тел. УК @lic_no varchar(255) -- лицензия УК select @srez_date_now=convert(varchar(10),@srez_date,104) select @rep_out_date='20:00 '+.DATE_TO_REP(@srez_date,'"') select @fond_name=(case td_pay_fond.fond_type when 1 then 'Открытый' when 2 then 'Интервальный' when 3 then 'Закрытый' else '' end) + ' ПИФ "' + t_partners.partner_name + '"', @fond_info=isnull(.DATE_TO_REP(t_partners.regist_sertificate_date,'"'),'')+' №'+isnull(t_partners.regist_sertificate_no,''), @buch_name=t_partners_jur.j_bookkeeper_name, @control_name=uk.partner_name, @head_name=uk_jur.j_head_last_name, @head_staff=uk_jur.j_head_staff, @control_info=isnull(uk.jur_code,'')+', '+isnull(uk.juraddress,'')+'. Тел. '+isnull(uk.partner_phone,'-') from t_partners, t_partners_jur, td_pay_fond, t_partners_jur uk_jur, t_partners uk where td_pay_fond.id = @fond_id and t_partners.id = td_pay_fond.id and t_partners.id = t_partners_jur.id and td_pay_fond.ctrl_comp_id = uk_jur.id and uk.id = uk_jur.id select @sd_name=t_item2class.code from t_item2class, t_classes, t_classvalues, tb_contracts, td_depo_docs where upper(t_classes.code) = 'AUTHORIZED_PERSON' and t_classes.id = t_classvalues.class_id and upper(t_classvalues.code) = 'SD_AUTHORIZED_PERSON' and t_item2class.value_id = t_classvalues.id and t_item2class.item_id = tb_contracts.id and td_depo_docs.owner_id = @fond_id and td_depo_docs.id = tb_contracts.id and tb_contracts.dog_type_id = 4 -- договор со спецдепом (5010) and .ITEMS_EXISTS_BY_TYPE(td_depo_docs.id,'FUND_CONTRACTS') and @srez_date between tb_contracts.dogexec_begin_date and isnull(tb_contracts.dogexec_end_date,dateadd(dd,1,@srez_date)) if isnull(@sd_name,'') = '' select @sd_name=max(t_partners_jur.j_head_last_name) from t_partners_jur, tb_contracts, td_depo_docs where td_depo_docs.owner_id = @fond_id and td_depo_docs.id = tb_contracts.id and tb_contracts.dog_type_id = 4 -- договор со спецдепом (5010) and tb_contracts.client_id = t_partners_jur.id and .ITEMS_EXISTS_BY_TYPE(td_depo_docs.id,'FUND_CONTRACTS') and @srez_date between tb_contracts.dogexec_begin_date and isnull(tb_contracts.dogexec_end_date,dateadd(dd,1,@srez_date)) select @lic_no=max('№'+isnull(t_licence.lic_no,'')+ ', выдана '+ isnull(.DATE_TO_REP(t_licence.lic_date,'"'),'')) from td_pay_fond, t_licence where td_pay_fond.id = @fond_id and td_pay_fond.ctrl_comp_id = t_licence.partner_id and t_licence.activity_id = 4 -- лицензия на упр. ПИФ (4500) and .ITEMS_EXISTS_BY_TYPE(t_licence.id,'ACTIVITY_LICENCE') /* select @srez_date_last=convert(varchar(10),tp_pif_srez.srez_date,104) from tp_pif_srez where .ITEMS_EXISTS_BY_TYPE(tp_pif_srez.id,'PIF_SREZ') and tp_pif_srez.fond_id = @fond_id and tp_pif_srez.srez_date = (select max(pif_srez.srez_date) from tp_pif_srez pif_srez where .ITEMS_EXISTS_BY_TYPE(pif_srez.id,'PIF_SREZ') and pif_srez.fond_id = tp_pif_srez.fond_id and pif_srez.srez_date < @srez_date) */ select @srez_date_last=convert(varchar(10),tp_pif_srez.srez_date,104) from tp_pif_srez where .ITEMS_EXISTS_BY_TYPE_STATE(tp_pif_srez.id,'PIF_SREZ','END_YEAR') and tp_pif_srez.fond_id = @fond_id and datepart(yy,tp_pif_srez.srez_date) = datepart(yy,dateadd(yy,-1,@srez_date_now)) if isnull(@srez_date_last,'') = '' select @srez_date_last='01.01.1980' select @sid as sid, @srez_date_now as srez_date_now, @srez_date_last as srez_date_last, @rep_out_date as rep_out_date, @fond_name as fond_name, @control_name as control_name, @head_name as head_name, @head_staff as head_staff, @buch_name as buch_name, @sd_name as sd_name, @fond_info as fond_info, @control_info as control_info, @lic_no as lic_no .END $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SCHA_CH_2005_DET) name=Отчет об изменении СЧА (2005) - перечень class=4 filter=null target_state= uo=null dw=d_pif_scha_ch_2005_det procedure=ap_pif_scha_ch_2005_det patterns=null user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) create procedure dbo.%PROC% @sid varchar(30) = null as declare @action_id numeric(18,0), @id numeric(18,0), @user_id numeric(18,0), @state_id numeric(18,0), @new_state_id numeric(18,0), @type_id numeric(18,0) select @action_id=%ACTION_ID% select @id=convert(numeric(18,0),@sid) .CHECK_USER .GET_PROPS create table #report( rorder int not null, rname varchar(255) null, rcode varchar(50) null, rsum decimal(18,4) null ) declare @fund_plan_id numeric(18,0), @acc861_id numeric(18,0), @acc863_id numeric(18,0), @acc864_id numeric(18,0), @acc865_id numeric(18,0), @acc961_id numeric(18,0), @acc962_id numeric(18,0), @acc963_id numeric(18,0), @acc911_id numeric(18,0), @acc912_id numeric(18,0), @acc913_id numeric(18,0), @acc914_id numeric(18,0), @acc915_id numeric(18,0), @acc916_id numeric(18,0), @acc917_id numeric(18,0), @acc766_id numeric(18,0), @acc862_id numeric(18,0), @acc7642_id numeric(18,0), @acc7641_id numeric(18,0) declare @cur_plan_id numeric(18,0), @rsum money, @last_srez_date datetime, @cur_partner2plan numeric(18,0), @cur_partners_subconto numeric(18,0), @cur_paydocs_subconto numeric(18,0), @cur_pifdocs_subconto numeric(18,0) select @fund_plan_id = .ARG_PLAN('PIF_ACCOUNT') select @acc861_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.1') select @acc863_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'86.3') select @acc864_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'86.4') select @acc865_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'86.5') select @acc911_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'91.1') select @acc912_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'91.2') select @acc913_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'91.3') select @acc914_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'91.4') select @acc915_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'91.5') select @acc916_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'91.6') select @acc917_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'91.7') select @acc961_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'89.1') select @acc963_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'89.3') select @acc766_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'76.6') select @acc862_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.2') -- это 86.2 по-новому select @acc861_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'86.1') select @acc7642_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'76.4.2') select @acc7641_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'76.4.1') if .GET_CLASS_VALUE_CODE_FOR_ITEM(@fond_id,'PIF_OTHER_RESERVE','IN_SCHA') = 'IN_SCHA' select @acc962_id=.SD_ACCID_FROM_EFFNO(@fund_plan_id,'89.2') -- сие счет 96.2 по новому плану else select @acc962_id=-1 select @cur_plan_id=.ARG_PLAN('PIF_ACCOUNT') select @cur_partner2plan=(select t_plans2partner.id from t_plans2partner, t_items,t_states where t_plans2partner.plan_id = @cur_plan_id and t_plans2partner.partner_id = @fond_id and t_plans2partner.id = t_items.id and t_items.state_id = t_states.id and t_states.class_id = 0) if @cur_partner2plan is null .EXIT_MESSAGE('Для заданного фонда не найден план счетов PIF_ACCOUNT') select @cur_partners_subconto = .SUBCTYPE_FROM_CODE('partners') select @cur_paydocs_subconto = .SUBCTYPE_FROM_CODE('paydocs') select @cur_pifdocs_subconto = .SUBCTYPE_FROM_CODE('pifdocs') select @last_srez_date=(select srez_date from tp_pif_srez where tp_pif_srez.id = @startsrez_id) -- insert #report (rorder,rname,rcode) select 10, 'Стоимость чистых активов на начало отчетного периода', '010' union select 20, 'Размещение акций акционерного инвестиционного фонда '+ '(выдача инвестиционных паев паевого инвестиционного фонда)', '020' union select 30, 'Выкуп или приобретение акций акционерного инвестиционного фонда'+ '(погашение инвестиционных паев паевого инвестиционного фонда)', '030' union select 40, 'Обмен инвестиционных паев данного паевого инвестиционного фонда '+ 'на инвестиционные паи других паевых фондов', '040' union select 50, 'Обмен инвестиционных паев других паевых инвестиционных фондов '+ 'на инвестиционные паи данного паевого фонда', '050' union select 60, 'Выплата дохода от доверительного управления закрытым паевым инвестиционным фондом', '060' union select 70, 'Изменение стоимости чистых активов в результате операций с активами акционерного инвестиционного фонда '+ '(активами паевого инвестиционного фонда) и изменения стоимости активов фонда', '070' union select 80, 'Стоимость чистых активов на конец отчетного периода (строки 010 + 020 - 030 - 040 + 050 - 060 +(-) 070)', '080' -- 010 (СЧА на начало периода) update #report set rsum=(select scha_sum from tp_pif_srez where tp_pif_srez.id = @startsrez_id) where rorder = 10 -- 020 (Выдача паев) update #report set rsum=isnull((select sum(obor_cred) from tp_pif_srez_balance where srez_id = @id and tp_pif_srez_balance.acc_id = @acc861_id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance')), 0) where rorder = 20 -- 020 (Уменьшаем сумму на размер оборотов по передаче паев) update #report set rsum=isnull(rsum,0)-isnull((select sum(ai.row_sum) from tp_pif_srez_add_info ai where ai.srez_id = @id and ai.row_code in ('PAYS_EXCHANGE_OUT','PAYS_MOVES_SUM') and .ITEMS_EXISTS_BY_TYPE(ai.id,'PIF_SREZ_ADD_INFO')),0) where rorder = 20 -- 030 (Погашение паев) update #report set rsum=isnull((select sum(obor_deb) from tp_pif_srez_balance where srez_id = @id and tp_pif_srez_balance.acc_id = @acc861_id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance')), 0) where rorder = 30 -- 30 (Уменьшаем сумму на размер оборотов по передаче паев) update #report set rsum=rsum-isnull((select sum(ai.row_sum) from tp_pif_srez_add_info ai where ai.srez_id = @id and ai.row_code in ('PAYS_EXCHANGE','PAYS_MOVES_SUM') and .ITEMS_EXISTS_BY_TYPE(ai.id,'PIF_SREZ_ADD_INFO')),0) where rorder = 30 if @acc865_id is not null update #report set rsum=isnull(rsum,0) + isnull((select sum(obor_deb) - sum(obor_cred) from tp_pif_srez_balance where srez_id = @id and tp_pif_srez_balance.acc_id = @acc865_id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance')), 0) where rorder = 30 -- 040 (Обмен паев фонда, на паи других фондов) update #report set rsum=isnull((select isnull(ai.row_sum,0) from tp_pif_srez_add_info ai where ai.srez_id = @id and ai.row_code = 'PAYS_EXCHANGE' and .ITEMS_EXISTS_BY_TYPE(ai.id,'PIF_SREZ_ADD_INFO')),0) where rorder = 40 select @rsum=0 -- 050 (Обмен паев других фондов, на паи данного фонда) update #report set rsum=isnull((select isnull(ai.row_sum,0) from tp_pif_srez_add_info ai where ai.srez_id = @id and ai.row_code = 'PAYS_EXCHANGE_OUT' and .ITEMS_EXISTS_BY_TYPE(ai.id,'PIF_SREZ_ADD_INFO')),0) where rorder = 50 -- 060 (Выплата дохода от ДУ ЗПИФ) update #report set rsum=isnull((select isnull(ai.row_sum,0) from tp_pif_srez_add_info ai where ai.srez_id = @id and ai.row_code = 'PAYMENT_PROFIT_MANAGEMENT_ZPIF' and .ITEMS_EXISTS_BY_TYPE(ai.id,'PIF_SREZ_ADD_INFO')),0) where rorder = 60 /* -- 070 (Изменение стоимости СЧА) update #report set rsum=(select isnull(ai.row_sum,0) from tp_pif_srez_add_info ai where ai.srez_id = @id and ai.row_code = 'STOCK_SALE_PROCEEDS' and .ITEMS_EXISTS_BY_TYPE(ai.id,'PIF_SREZ_ADD_INFO')) where rorder = 70 update #report set rsum=rsum - (select isnull(ai.row_sum,0) from tp_pif_srez_add_info ai where ai.srez_id = @id and ai.row_code = 'STOCK_SALE_EXPENSES' and .ITEMS_EXISTS_BY_TYPE(ai.id,'PIF_SREZ_ADD_INFO')) where rorder = 70 -- 070 update #report set rsum=rsum + (select isnull(sum(obor_cred),0) - isnull(sum(obor_deb),0) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id in (@acc912_id, @acc914_id, @acc911_id, @acc915_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where rorder = 70 -- 070 update #report set rsum=rsum - ((select isnull(sum(isnull(b.obor_cred,0)),0) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id in (@acc961_id,@acc963_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) + (select isnull(sum(isnull(b.obor_deb,0)),0) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id = @acc962_id and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE'))) where rorder = 70 -- 070 update #report set rsum=rsum + (select isnull(sum(isnull(b.obor_cred,0)),0) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id in (@acc864_id,@acc916_id,@acc917_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where rorder = 70 -- 070 update #report set rsum=rsum - (select isnull(sum(isnull(b.obor_deb,0)),0) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id in (@acc864_id,@acc916_id,@acc917_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where rorder = 70 -- 070 update #report set rsum=rsum + (select isnull(ai.row_sum,0) from tp_pif_srez_add_info ai where ai.srez_id = @id and ai.row_code = 'STOCK_SALES_PNKD_RESULT' and .ITEMS_EXISTS_BY_TYPE(ai.id,'PIF_SREZ_ADD_INFO')) where rorder = 50 -- 070 (Оборот по кред.86.2 - чтобы учесть сторно по резервам ) update #report set rsum=rsum + (select isnull(sum(b.obor_cred),0) from tp_pif_srez_balance b where b.srez_id = @id and b.acc_id in (@acc862_id) and .ITEMS_EXISTS_BY_TYPE(b.id,'PIF_SREZ_BALANCE')) where rorder = 70 */ -- update #report set rsum=(-1)*rsum where rorder in (30,40) -- 080 /* update #report set rsum=(select sum(isnull(rsum,0)) from #report where rorder <> 80) where rorder = 80 */ update #report set rsum=@scha_sum where rorder = 80 update #report set rsum=@scha_sum-isnull((select sum(isnull(rsum,0)) from #report where rorder <> 80),0) where rorder = 70 update #report set rsum=(-1)*rsum where rorder in (30,40,60) -- Итого в отчет select rorder as rorder, rname as rname, rcode as rcode, isnull(rsum,0) as rsum from #report order by rorder $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SCHA_CH_42) name=Отчет Справки о СЧА (новый) class=5 filter=null target_state= uo=uo_print dw=d_pif_scha_ch_42 procedure=ap_60365000003003997 patterns=null user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .GET_PROPS if @startsrez_id is null .EXIT_MESSAGE('Не задан начальный срез') declare @avg_scha money select @avg_scha = ((select scha_sum from tp_pif_srez where id=@startsrez_id) + @scha_sum)/2.0 declare @fond_name varchar(255) select @fond_name = partner_name from t_partners where t_partners.id = @fond_id declare @head_name varchar(255) declare @buch_name varchar(255) select @head_name=j_head_last_name, @buch_name=j_bookkeeper_name from t_partners_jur where id=@fond_id select @sid, @srez_date, @fond_name, @srez_date_b, @avg_scha, @head_name, @buch_name End $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SREZ_CHANGE4PAY) name=Отчет о приросте (уменьшении) СЧА на один пай class=5 filter=null target_state= uo=uo_print dw=d_pif_srez_change4pay procedure=ap_60165000000221315 patterns=GENERIC_VIEW_ITEM user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .GET_PROPS declare @fond_name varchar(255) declare @stock_price_beg money declare @price_change money declare @change_persent money select @stock_price_beg = stock_price from tp_pif_srez where id = @startsrez_id if @stock_price_beg is null .EXIT_MESSAGE('Не указан начальный срез') if (@stock_price_beg = 0) .EXIT_MESSAGE('Не расчитана стоимость пая на начало периода') /* Прирост стоимости */ select @price_change = @stock_price - @stock_price_beg /* Процент прироста */ select @change_persent = (@stock_price/@stock_price_beg - 1) * 100 select @fond_name = partner_name from t_partners where t_partners.id = @fond_id select @sid, @srez_date, @fond_name, convert(decimal(18,4), @stock_price_beg) as stock_price_beg, convert(decimal(18,4), @stock_price) as stock_price, convert(decimal(18,4), @price_change) as price_change, convert(decimal(18,4), @change_persent) as change_persent End $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SREZ_CHANGE_LIST) name=Перечень к отчету об изменении ЧА class=4 filter=null target_state= uo=null dw=d_pif_srez_change_list procedure=ap_pif_srez_change_list patterns=null user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .GET_PROPS create table #report( rorder int null, rname varchar(255) null, rcode varchar(50) null, rsum decimal(18,4) null) declare @fund_plan_id numeric declare @acc_id numeric --select @fund_plan_id = .ARG_PLAN('PIF_ACCOUNT') .PIF_PLAN_ID(@srez_date,@fond_id,@fund_plan_id) declare @dox money declare @ras money declare @act money declare @sum_total money declare @sum_pay money declare @pay_b money declare @pay_e money select @pay_b = (select scha_sum from tp_pif_srez where tp_pif_srez.id = @startsrez_id) insert into #report values(1, 'ЧИСТЫЕ АКТИВЫ НА НАЧАЛО ПЕРИОДА:', '010', @pay_b) insert into #report values(2, '', null, null) insert into #report values(3, 'ИЗМЕНЕНИЕ АКТИВОВ В РЕЗУЛЬТАТЕ ОПЕРАЦИЙ', null, null) insert into #report values(4, '', null, null) /* Прирост или уменьшение стоимости имущества Фонда от реализации активов */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.1') select @dox = isnull((select sum(obor_cred) - sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) -- and t_accounts.acc_num_eff_rep like '.96.3.1.%'), 0) /* Проценты по депозитам */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.2') select @dox = @dox + isnull((select sum(obor_cred) - sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Проценты по облигациям */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.5') select @dox = @dox + isnull((select sum(obor_cred) - sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Накопленный купонный доход */ select @dox = @dox + isnull((select sum(coupon_sum) from tp_pif_srez_portfolio where srez_id = @id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio')),0) /* Уплаченный накопленный купонный доход */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'76.6') select @dox = @dox - isnull((select sum(saldo_deb) - sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Дивиденды */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.3') select @dox = @dox + isnull((select sum(obor_cred) - sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Прочий прирост (уменьшение) имущества */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.6') select @dox = @dox + isnull((select sum(obor_cred) - sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Проценты по остаткам на расчетном счете */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.7') select @dox = @dox + isnull((select sum(obor_cred) - sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Курсовые (суммовые) разницы */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.4') select @dox = @dox + isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Резерв */ /* Резерв на оплату услуг управляющей компании */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'89.1') select @ras = isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Резерв на прочие резервы */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'89.2') select @ras = @ras + isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Резерв на СД,СР... */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'89.3') select @ras = @ras + isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Курсовые (суммовые) разницы */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.4') select @ras = @ras + isnull((select sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) insert into #report values(3, 'прирост (уменьшение) стоимости имущества фонда от', '020', (@dox - @ras)) insert into #report values(4, 'реализации активов и инвестиционного дохода за', null, null) insert into #report values(5, 'вычетом резерва и прочих расходов (потерь) за', null, null) insert into #report values(6, 'счет имущества фонда', null, null) insert into #report values(7, '', null, null) /* Разница отклонений оценочной стоимости от балансовой */ select @act = isnull((select sum(stock_sum) - sum(bal_sum) from tp_pif_srez_portfolio where srez_id = @id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio')),0) select @act = @act - isnull((select sum(stock_sum) - sum(bal_sum) from tp_pif_srez_portfolio where srez_id = @startsrez_id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio')),0) insert into #report values(10, 'прирост (уменьшение) стоимости имущества фонда от', '021', @act) insert into #report values(11, 'переоценки активов', null, null) insert into #report values(12, '', null, null) select @sum_total = @dox - @ras + @act insert into #report values(13, 'Итого прирост (уменьшение) стоимости имущества фонда от', '030', @sum_total) insert into #report values(14, 'операционной деятельности', null, null) insert into #report values(15, '(строки 020 + 021)', null, null) select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.1') select @sum_pay = isnull((select sum(obor_cred) - sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) insert into #report values(19, '', null, null) insert into #report values(20, 'ИЗМЕНЕНИЕ АКТИВОВ В РЕЗУЛЬТАТЕ ОПЕРАЦИЙ С ПАЯМИ', '040', @sum_pay) insert into #report values(29, '', null, null) insert into #report values(30, 'ИЗМЕНЕНИЕ АКТИВОВ ЗА ПЕРИОД', '050', (@sum_total + @sum_pay)) insert into #report values(31, '(строки 030 + 040))', null, null) select @pay_e = @pay_b + @sum_total + @sum_pay insert into #report values(39, '', null, null) insert into #report values(40, 'ЧИСТЫЕ АКТИВЫ НА КОНЕЦ ПЕРИОДА:', '060', @pay_e) insert into #report values(41, '(строки 010 + 050))', null, null) select * from #report End $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SREZ_CHANGE_REPORT) name=Отчет об изменении чистых активов class=5 filter=null target_state= uo=uo_print dw=d_pif_srez_change_report procedure=ap_60150000000022696 patterns=null user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .GET_PROPS declare @fond_name varchar(255) select @fond_name = partner_name from t_partners where t_partners.id = @fond_id select @sid, @srez_date, @fond_name End $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SREZ_CONFORM_INT_LIST1) name=таблица 1, фонд интервальный, справка к отчету о вложениях class=4 filter=null target_state= uo=null dw=d_pif_srez_conform_int_list1 procedure=ap_pif_srez_conform_int_list1 patterns=null user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .GET_PROPS declare @level decimal(18,8) create table #report ( emmitent_id numeric null, rsum money null, rpersent decimal(18,8) null, rdate datetime null ) create table #result ( group_id int null, emmitent_id_s varchar(30) null, emi_name varchar(255) null, rsum money null, rpersent decimal(18,8) null, rdate datetime null, rlevel decimal(18,8) null ) if (@activ_sum is null) or (@activ_sum = 0) .EXIT_MESSAGE('В данном срезе не расчитана стоимость активов') insert into #report( emmitent_id, rsum, rpersent, rdate) select td_stock_emis.emmitent_id, sum(tp_pif_srez_portfolio.stock_sum), sum(round(tp_pif_srez_portfolio.stock_sum/convert(decimal(18,8),@activ_sum),8)), @srez_date from tp_pif_srez_portfolio, td_stock_emis where tp_pif_srez_portfolio.srez_id=@id and .ITEMS_EXISTS(tp_pif_srez_portfolio.id) and td_stock_emis.id=tp_pif_srez_portfolio.stock_id and not exists(select 1 from t_nclass_value2item vi, t_nclass_types t, t_nclass_values v where vi.item_id=td_stock_emis.id and v.id=vi.class_value_id and t.id=vi.class_type_id and t.class_code='STOCK_EMITENT_TYPE' and v.value_code in ('STOCK_GOS_PARTNER','STOCK_SUB_FED','STOCK_MUNICIPAL') and v.class_type_id=t.id) /* not exists(select 1 from t_item2class, t_classvalues, t_classes where t_item2class.item_id=td_stock_emis.id and t_classvalues.id=t_item2class.value_id and t_classes.id=t_classvalues.class_id and t_classes.code='STOCK_TYPES_PIF' and t_classvalues.code='STOCK_GOV') */ group by td_stock_emis.emmitent_id select @level=0.15 if exists(select 1 from #report where rpersent>=@level) insert #result select 1, convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rpersent, #report.rdate, @level*100 from #report, td_emitent_info where #report.emmitent_id=td_emitent_info.id and rpersent>=@level else insert #result select 1, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(decimal(18,8), null) as rpersent, convert(datetime,null) as rdate, @level*100 as rlevel delete #report insert into #report( emmitent_id, rsum, rpersent, rdate) select td_stock_emis.emmitent_id, sum(tp_pif_srez_portfolio.stock_sum), sum(round(tp_pif_srez_portfolio.stock_sum/convert(decimal(18,8),@activ_sum),8)), @srez_date from tp_pif_srez_portfolio, td_stock_emis where tp_pif_srez_portfolio.srez_id=@id and .ITEMS_EXISTS(tp_pif_srez_portfolio.id) and td_stock_emis.id=tp_pif_srez_portfolio.stock_id and not (tp_pif_srez_portfolio.rate_date=@srez_date and tp_pif_srez_portfolio.rate_date is not null and tp_pif_srez_portfolio.stock_rate<>0 and tp_pif_srez_portfolio.is_rate=1) group by td_stock_emis.emmitent_id select @level=0.2 if exists(select 1 from #report where rpersent>=@level) insert #result select 2, convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rpersent, #report.rdate, @level*100 from #report, td_emitent_info where #report.emmitent_id=td_emitent_info.id and rpersent>=@level else insert #result select 2, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(decimal(18,8), null) as rpersent, convert(datetime,null) as rdate, @level*100 as rlevel drop table #report select * from #result drop table #result end $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SREZ_CONFORM_INT_LIST2) name=таблица 2, фонд интервальный, справка к отчету о вложениях class=4 filter=null target_state= uo=null dw=d_pif_srez_conform_int_list2 procedure=ap_pif_srez_conform_int_list2 patterns=null user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .GET_PROPS declare @level decimal(18,8) select @level = 0.2 create table #report ( emmitent_id numeric null, rsum money null, rpersent decimal(18,8) null, rdate datetime null ) if (@activ_sum is null) or (@activ_sum = 0) .EXIT_MESSAGE('В данном срезе не расчитана стоимость активов') insert into #report( emmitent_id, rsum, rpersent, rdate) select td_stock_emis.emmitent_id, sum(tp_pif_srez_portfolio.stock_sum), sum(round(tp_pif_srez_portfolio.stock_sum/convert(decimal(18,8),@activ_sum),8)), @srez_date from tp_pif_srez_portfolio, td_stock_emis where tp_pif_srez_portfolio.srez_id=@id and .ITEMS_EXISTS(tp_pif_srez_portfolio.id) and td_stock_emis.id=tp_pif_srez_portfolio.stock_id and exists(select 1 from t_nclass_value2item vi, t_nclass_types t, t_nclass_values v where vi.item_id=td_stock_emis.id and v.id=vi.class_value_id and t.id=vi.class_type_id and t.class_code='STOCK_EMITENT_TYPE' and v.value_code='STOCK_FOREIGN_PARTNER' and v.class_type_id=t.id) /* and exists(select 1 from t_item2class, t_classvalues, t_classes where t_item2class.item_id=td_stock_emis.id and t_classvalues.id=t_item2class.value_id and t_classes.id=t_classvalues.class_id and t_classes.code='STOCK_TYPES_PIF' and t_classvalues.code='STOCK_FRGN') */ group by td_stock_emis.emmitent_id if (select sum(rpersent) from #report)>=@level select convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rpersent, #report.rdate, @level*100 from #report, td_emitent_info where #report.emmitent_id = td_emitent_info.id else select convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(decimal(18,4), null) as rpersent, convert(datetime,null) as rdate, @level*100 as rlevel end $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SREZ_CONFORM_INT_LIST3) name=таблица 3, фонд интервальный, справка о вложениях class=4 filter=null target_state= uo=null dw=d_pif_srez_conform_int_list3 procedure=ap_pif_srez_conform_int_list3 patterns=null user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .GET_PROPS declare @level decimal(18,8) select @level = 0.65 create table #report ( emmitent_id numeric null, stock_id numeric null, stock_rate decimal(18,8) null, rate_place_id numeric null, stock_calc decimal(18,8) null, calc_place_id numeric null, stock_qty money null, bal_sum money null, rsum money null, rpersent decimal(18,8) null, rdate datetime null ) create table #result ( group_id int null, emmitent_id_s varchar(30) null, emi_name varchar(255) null, stock_rate decimal(18,8) null, rate_place_name varchar(255) null, stock_calc decimal(18,8) null, calc_place_name varchar(255) null, stock_qty money null, bal_sum money null, rsum money null, rpersent decimal(18,8) null, rdate datetime null, rlevel decimal(18,8) null ) if (@activ_sum is null) or (@activ_sum = 0) .EXIT_MESSAGE('В данном срезе не расчитана стоимость активов') insert into #report( emmitent_id, stock_id, stock_qty, bal_sum, rsum, rpersent, rdate) select td_stock_emis.emmitent_id, td_stock_emis.id, sum(tp_pif_srez_portfolio.stock_qty), sum(tp_pif_srez_portfolio.bal_sum), sum(tp_pif_srez_portfolio.stock_sum), sum(round(tp_pif_srez_portfolio.stock_sum/convert(decimal(18,8),@activ_sum),8)), @srez_date from tp_pif_srez_portfolio, td_stock_emis where tp_pif_srez_portfolio.srez_id=@id and .ITEMS_EXISTS(tp_pif_srez_portfolio.id) and td_stock_emis.id=tp_pif_srez_portfolio.stock_id and not (tp_pif_srez_portfolio.rate_date=@srez_date and tp_pif_srez_portfolio.rate_date is not null and tp_pif_srez_portfolio.stock_rate<>0 and tp_pif_srez_portfolio.is_rate=1) group by td_stock_emis.emmitent_id, td_stock_emis.id if (select sum(rpersent) from #report)>=@level begin declare @cur_stock_id numeric declare @rate_cur_id numeric declare @cur_rate_place_id numeric declare @cur_stock_rate decimal(18,8) declare @cur_stock_rur decimal(18,8) declare @rur_cur_id numeric declare @cur_rate_date datetime declare @class_value_code varchar(255) declare @class_comment varchar(255) declare @rate_value decimal(18,8) declare @rate_date datetime select @rur_cur_id = .CUR('RUR') declare rep_cur cursor for select stock_id from #report for update open rep_cur fetch rep_cur into @cur_stock_id while .CURSOR_STATE=0 begin exec ap_getclassvalue_code @cur_stock_id, 'STOCK_RATE_PLACE', null, @fond_id, @class_value_code out, @class_comment out if @class_value_code is not null select @cur_rate_place_id = max(td_rate_places.id) from td_rate_places where upper(td_rate_places.place_code) = upper(@class_value_code) and .ITEMS_EXISTS(td_rate_places.id) if @cur_rate_place_id is null .EXIT_MESSAGE('Не задана площадка котировок') select @rate_cur_id=(select td_rate_places.cur_id from td_rate_places where id=@cur_rate_place_id) select @cur_stock_rate=null, @cur_rate_date=null select @cur_stock_rate=tb_stock_rates.stock_rate, @cur_rate_date=tb_stock_rates.rate_date from tb_stock_rates where tb_stock_rates.rate_place_id=@cur_rate_place_id and tb_stock_rates.stock_rate<>0 and tb_stock_rates.rate_type=1 and tb_stock_rates.stock_id=@cur_stock_id and .ITEMS_EXISTS(tb_stock_rates.id) and tb_stock_rates.rate_date=(select max(tb_stock_rates.rate_date) from tb_stock_rates where tb_stock_rates.rate_place_id=@cur_rate_place_id and tb_stock_rates.rate_date<=@srez_date and tb_stock_rates.stock_rate<>0 and tb_stock_rates.rate_type=1 and tb_stock_rates.stock_id=@cur_stock_id and .ITEMS_EXISTS(tb_stock_rates.id)) if @cur_stock_rate is not null if @rur_cur_id=@rate_cur_id select @cur_stock_rur=@cur_stock_rate else begin .CONVERT_SUM(@rate_cur_id, @rur_cur_id, @srez_date, 0, @cur_stock_rate, @cur_stock_rur, @rate_value, @rate_date) .PIF_ROUND_RATE(@fond_id, @cur_stock_rur, @cur_stock_rur) end else select @cur_stock_rur = null update #report set stock_rate=@cur_stock_rur, rate_place_id=@cur_rate_place_id where current of rep_cur fetch rep_cur into @cur_stock_id end close rep_cur deallocate cursor rep_cur insert #result select 1, convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.stock_rate, td_rate_places.place_name, convert(decimal(18,8),null), convert(varchar(255),null), #report.stock_qty, #report.bal_sum, #report.rsum, #report.rpersent, #report.rdate, @level*100 from #report, td_emitent_info, td_rate_places where #report.emmitent_id=td_emitent_info.id and td_rate_places.id=#report.rate_place_id end else insert #result select 1, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(decimal(18,8), null) as stock_rate, convert(varchar(255), null) as rate_place_name, convert(decimal(18,8),null) as calc_rate, convert(varchar(255),null) as calc_place_name, convert(money, null) as stock_qty, convert(money, null) as bal_sum, convert(money, null) as rsum, convert(decimal(18,8), null) as rpersent, convert(datetime,null) as rdate, @level*100 as rlevel insert #result select 2, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(decimal(18,8), null) as stock_rate, convert(varchar(255), null) as rate_place_name, convert(decimal(18,8),null) as calc_rate, convert(varchar(255),null) as calc_place_name, convert(money, null) as stock_qty, convert(money, null) as bal_sum, convert(money, null) as rsum, convert(decimal(18,8), null) as rpersent, convert(datetime,null) as rdate, @level*100 as rlevel drop table #report select * from #result drop table #result end $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SREZ_CONFORM_INT_LIST4) name=таблица 4, фонд интервальный, справка о вложениях class=4 filter=null target_state= uo=null dw=d_pif_srez_conform_int_list4 procedure=ap_pif_srez_conform_int_list4 patterns=null user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .GET_PROPS declare @level decimal(18,8) create table #report ( emmitent_id numeric null, rsum money null, rpersent decimal(18,8) null, rdate datetime null ) create table #result ( group_id int null, emmitent_id_s varchar(30) null, emi_name varchar(255) null, rsum money null, rdate datetime null, rlevel decimal(18,8) null ) if (@activ_sum is null) or (@activ_sum = 0) .EXIT_MESSAGE('В данном срезе не расчитана стоимость активов') if exists(select 1 from #report) insert #result select 1, convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rdate, @level*100 from #report, td_emitent_info where #report.emmitent_id=td_emitent_info.id else insert #result select 1, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(datetime,null) as rdate, 0 as rlevel delete #report if exists(select 1 from #report) insert #result select 2, convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rdate, 0 from #report, td_emitent_info where #report.emmitent_id=td_emitent_info.id else insert #result select 2, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(datetime,null) as rdate, 0 as rlevel delete #report if exists(select 1 from #report) insert #result select 3, convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rdate, 0 from #report, td_emitent_info where #report.emmitent_id=td_emitent_info.id else insert #result select 3, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(datetime,null) as rdate, 0 as rlevel delete #report if exists(select 1 from #report) insert #result select 4, convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rdate, 0 from #report, td_emitent_info where #report.emmitent_id=td_emitent_info.id else insert #result select 4, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(datetime,null) as rdate, 0 as rlevel delete #report if exists(select 1 from #report) insert #result select 5, convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rdate, 0 from #report, td_emitent_info where #report.emmitent_id=td_emitent_info.id else insert #result select 5, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(datetime,null) as rdate, 0 as rlevel delete #report if exists(select 1 from #report) insert #result select 6, convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rdate, 0 from #report, td_emitent_info where #report.emmitent_id=td_emitent_info.id else insert #result select 6, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(datetime,null) as rdate, 0 as rlevel delete #report if exists(select 1 from #report) insert #result select 7, convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rdate, 0 from #report, td_emitent_info where #report.emmitent_id=td_emitent_info.id else insert #result select 7, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(datetime,null) as rdate, 0 as rlevel delete #report if exists(select 1 from #report) insert #result select 8, convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rdate, 0 from #report, td_emitent_info where #report.emmitent_id=td_emitent_info.id else insert #result select 8, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(datetime,null) as rdate, 0 as rlevel delete #report if exists(select 1 from #report) insert #result select 9, convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rdate, 0 from #report, td_emitent_info where #report.emmitent_id=td_emitent_info.id else insert #result select 9, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(datetime,null) as rdate, 0 as rlevel delete #report if exists(select 1 from #report) insert #result select 10, convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rdate, 0 from #report, td_emitent_info where #report.emmitent_id=td_emitent_info.id else insert #result select 10, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(datetime,null) as rdate, 0 as rlevel drop table #report select * from #result drop table #result end $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SREZ_CONFORM_OPEN_LIST1) name=таблица 1, фонд открытый, справка об инвес. вложениях class=4 filter=null target_state= uo=null dw=d_pif_srez_conform_open_list1 procedure=ap_pif_srez_conform_open_list1 patterns=null user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .GET_PROPS declare @level decimal(18,8) select @level = 0.15 create table #report ( emmitent_id numeric null, rsum money null, rpersent decimal(18,8) null, rdate datetime null ) if (@activ_sum is null) or (@activ_sum = 0) .EXIT_MESSAGE('В данном срезе не расчитана стоимость активов') insert into #report( emmitent_id, rsum, rpersent, rdate) select td_stock_emis.emmitent_id, sum(tp_pif_srez_portfolio.stock_sum), sum(round(tp_pif_srez_portfolio.stock_sum/convert(decimal(18,8),@activ_sum),8)), @srez_date from tp_pif_srez_portfolio, td_stock_emis where tp_pif_srez_portfolio.srez_id=@id and .ITEMS_EXISTS(tp_pif_srez_portfolio.id) and td_stock_emis.id=tp_pif_srez_portfolio.stock_id and not exists(select 1 from t_nclass_value2item vi, t_nclass_types t, t_nclass_values v where vi.item_id=td_stock_emis.id and v.id=vi.class_value_id and t.id=vi.class_type_id and t.class_code='STOCK_EMITENT_TYPE' and v.value_code in ('STOCK_GOS_PARTNER','STOCK_SUB_FED','STOCK_MUNICIPAL') and v.class_type_id=t.id) /* not exists(select 1 from t_item2class, t_classvalues, t_classes where t_item2class.item_id=td_stock_emis.id and t_classvalues.id=t_item2class.value_id and t_classes.id=t_classvalues.class_id and t_classes.code='STOCK_TYPES_PIF' and t_classvalues.code='STOCK_GOV') */ group by td_stock_emis.emmitent_id if exists(select 1 from #report where rpersent>=@level) select convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rpersent, #report.rdate, @level*100 from #report, td_emitent_info where rpersent>=@level and #report.emmitent_id = td_emitent_info.id else select convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(decimal(18,4), null) as rpersent, convert(datetime,null) as rdate, @level*100 as rlevel end $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SREZ_CONFORM_OPEN_LIST2) name=таблица 2, фонд открытый, справка о вложениях class=4 filter=null target_state= uo=null dw=d_pif_srez_conform_open_list2 procedure=ap_pif_srez_conform_open_list2 patterns=null user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .GET_PROPS declare @level decimal(18,8) select @level = 0.2 create table #report ( emmitent_id numeric null, rsum money null, rpersent decimal(18,8) null, rdate datetime null ) if (@activ_sum is null) or (@activ_sum = 0) .EXIT_MESSAGE('В данном срезе не расчитана стоимость активов') insert into #report( emmitent_id, rsum, rpersent, rdate) select td_stock_emis.emmitent_id, sum(tp_pif_srez_portfolio.stock_sum), sum(round(tp_pif_srez_portfolio.stock_sum/convert(decimal(18,8),@activ_sum),8)), @srez_date from tp_pif_srez_portfolio, td_stock_emis where tp_pif_srez_portfolio.srez_id=@id and .ITEMS_EXISTS(tp_pif_srez_portfolio.id) and td_stock_emis.id=tp_pif_srez_portfolio.stock_id and exists(select 1 from t_nclass_value2item vi, t_nclass_types t, t_nclass_values v where vi.item_id=td_stock_emis.id and v.id=vi.class_value_id and t.id=vi.class_type_id and t.class_code='STOCK_EMITENT_TYPE' and v.value_code='STOCK_FOREIGN_PARTNER' and v.class_type_id=t.id) /* and exists(select 1 from t_item2class, t_classvalues, t_classes where t_item2class.item_id=td_stock_emis.id and t_classvalues.id=t_item2class.value_id and t_classes.id=t_classvalues.class_id and t_classes.code='STOCK_TYPES_PIF' and t_classvalues.code='STOCK_FRGN') */ group by td_stock_emis.emmitent_id if (select sum(rpersent) from #report)>=@level select convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rpersent, #report.rdate, @level*100 from #report, td_emitent_info where #report.emmitent_id = td_emitent_info.id else select convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(decimal(18,4), null) as rpersent, convert(datetime,null) as rdate, @level*100 as rlevel end $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SREZ_CONFORM_OPEN_LIST3) name=таблица 3, фонд открытый, справка о вложениях class=4 filter=null target_state= uo=null dw=d_pif_srez_conform_open_list3 procedure=ap_pif_srez_conform_open_list3 patterns=null user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .GET_PROPS declare @level decimal(18,8) select @level = 0.1 create table #report ( emmitent_id numeric null, stock_id numeric null, stock_rate decimal(18,8) null, rate_place_id numeric null, rate_date datetime null, stock_qty money null, stock_sum money null, rsum money null, rpersent decimal(18,8) null, rdate datetime null ) /* if (@activ_sum is null) or (@activ_sum = 0) .EXIT_MESSAGE('В данном срезе не расчитана стоимость активов') */ insert into #report( emmitent_id, stock_id, stock_qty, rsum, rpersent, rdate) select td_stock_emis.emmitent_id, td_stock_emis.id, sum(tp_pif_srez_portfolio.stock_qty), sum(tp_pif_srez_portfolio.stock_sum), sum(round(tp_pif_srez_portfolio.stock_sum/convert(decimal(18,8),@activ_sum),8)), @srez_date from tp_pif_srez_portfolio, td_stock_emis where tp_pif_srez_portfolio.srez_id=@id and .ITEMS_EXISTS(tp_pif_srez_portfolio.id) and td_stock_emis.id=tp_pif_srez_portfolio.stock_id and not (tp_pif_srez_portfolio.rate_date=@srez_date and tp_pif_srez_portfolio.rate_date is not null and tp_pif_srez_portfolio.stock_rate<>0 and tp_pif_srez_portfolio.is_rate=1) group by td_stock_emis.emmitent_id, td_stock_emis.id if (select sum(rpersent) from #report)>=@level begin declare @cur_stock_id numeric declare @rate_cur_id numeric declare @cur_rate_place_id numeric declare @cur_stock_rate decimal(18,8) declare @cur_stock_rur decimal(18,8) declare @rur_cur_id numeric declare @cur_rate_date datetime declare @class_value_code varchar(255) declare @class_comment varchar(255) declare @rate_value decimal(18,8) declare @rate_date datetime select @rur_cur_id = .CUR('RUR') declare rep_cur cursor for select stock_id from #report for update open rep_cur fetch rep_cur into @cur_stock_id while .CURSOR_STATE=0 begin exec ap_getclassvalue_code @cur_stock_id, 'STOCK_RATE_PLACE', null, @fond_id, @class_value_code out, @class_comment out if @class_value_code is not null select @cur_rate_place_id = max(td_rate_places.id) from td_rate_places where upper(td_rate_places.place_code) = upper(@class_value_code) and .ITEMS_EXISTS(td_rate_places.id) if @cur_rate_place_id is null .EXIT_MESSAGE('Не задана площадка котировок') select @rate_cur_id=(select td_rate_places.cur_id from td_rate_places where id=@cur_rate_place_id) select @cur_stock_rate=null, @cur_rate_date=null select @cur_stock_rate=tb_stock_rates.stock_rate, @cur_rate_date=tb_stock_rates.rate_date from tb_stock_rates where tb_stock_rates.rate_place_id=@cur_rate_place_id and tb_stock_rates.stock_rate<>0 and tb_stock_rates.rate_type=1 and tb_stock_rates.stock_id=@cur_stock_id and .ITEMS_EXISTS(tb_stock_rates.id) and tb_stock_rates.rate_date=(select max(tb_stock_rates.rate_date) from tb_stock_rates where tb_stock_rates.rate_place_id=@cur_rate_place_id and tb_stock_rates.rate_date<=@srez_date and tb_stock_rates.stock_rate<>0 and tb_stock_rates.rate_type=1 and tb_stock_rates.stock_id=@cur_stock_id and .ITEMS_EXISTS(tb_stock_rates.id)) if @cur_stock_rate is not null if @rur_cur_id=@rate_cur_id select @cur_stock_rur=@cur_stock_rate else begin .CONVERT_SUM(@rate_cur_id, @rur_cur_id, @srez_date, 0, @cur_stock_rate, @cur_stock_rur, @rate_value, @rate_date) .PIF_ROUND_RATE(@fond_id, @cur_stock_rur, @cur_stock_rur) end else select @cur_stock_rur = null update #report set stock_rate=@cur_stock_rur, rate_place_id=@cur_rate_place_id, rate_date=@cur_rate_date, stock_sum=stock_qty*@cur_stock_rur where current of rep_cur fetch rep_cur into @cur_stock_id end close rep_cur deallocate cursor rep_cur select convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.stock_rate, td_rate_places.place_name, #report.rate_date, #report.stock_qty, #report.stock_sum, #report.rsum, #report.rpersent, #report.rdate, @level*100 from #report, td_emitent_info, td_rate_places where #report.emmitent_id=td_emitent_info.id and td_rate_places.id=#report.rate_place_id end else select convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(decimal(18,8), null) as stock_rate, convert(varchar(255), null) as rate_place_name, convert(datetime, null) as rate_date, convert(money, null) as stock_qty, convert(money, null) as stock_sum, convert(money, null) as rsum, convert(decimal(18,4), null) as rpersent, convert(datetime,null) as rdate, @level*100 as rlevel end $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SREZ_CONFORM_OPEN_LIST4) name=таблица 4, фонд открытый, справка о вложениях class=4 filter=null target_state= uo=null dw=d_pif_srez_conform_open_list4 procedure=ap_pif_srez_conform_open_list4 patterns=null user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .GET_PROPS declare @level decimal(18,8) create table #report ( emmitent_id numeric null, rsum money null, rpersent decimal(18,8) null, rdate datetime null ) create table #result ( group_id int null, emmitent_id_s varchar(30) null, emi_name varchar(255) null, rsum money null, rdate datetime null, rlevel decimal(18,8) null ) if (@activ_sum is null) or (@activ_sum = 0) .EXIT_MESSAGE('В данном срезе не расчитана стоимость активов') select @level=0.25 if exists(select 1 from #report where rpersent>=@level) insert #result select 1, convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rdate, @level*100 from #report, td_emitent_info where #report.emmitent_id=td_emitent_info.id and rpersent>=@level else insert #result select 1, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(datetime,null) as rdate, @level*100 as rlevel delete #report if exists(select 1 from #report) insert #result select 2, convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rdate, 0 from #report, td_emitent_info where #report.emmitent_id=td_emitent_info.id else insert #result select 2, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(datetime,null) as rdate, 0 as rlevel delete #report if exists(select 1 from #report) insert #result select 3, convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rdate, 0 from #report, td_emitent_info where #report.emmitent_id=td_emitent_info.id else insert #result select 3, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(datetime,null) as rdate, 0 as rlevel delete #report if exists(select 1 from #report) insert #result select 4, convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rdate, 0 from #report, td_emitent_info where #report.emmitent_id=td_emitent_info.id else insert #result select 4, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(datetime,null) as rdate, 0 as rlevel delete #report if exists(select 1 from #report) insert #result select 5, convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rdate, 0 from #report, td_emitent_info where #report.emmitent_id=td_emitent_info.id else insert #result select 5, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(datetime,null) as rdate, 0 as rlevel delete #report if exists(select 1 from #report) insert #result select 6, convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rdate, 0 from #report, td_emitent_info where #report.emmitent_id=td_emitent_info.id else insert #result select 6, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(datetime,null) as rdate, 0 as rlevel delete #report if exists(select 1 from #report) insert #result select 7, convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rdate, 0 from #report, td_emitent_info where #report.emmitent_id=td_emitent_info.id else insert #result select 7, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(datetime,null) as rdate, 0 as rlevel delete #report if exists(select 1 from #report) insert #result select 8, convert(varchar(30), #report.emmitent_id) as emmitent_id_s, td_emitent_info.emi_name, #report.rsum, #report.rdate, 0 from #report, td_emitent_info where #report.emmitent_id=td_emitent_info.id else insert #result select 8, convert(varchar(30), null) as emmitent_id_s, convert(varchar(255), null) as emi_name, convert(money, null) as rsum, convert(datetime,null) as rdate, 0 as rlevel drop table #report select * from #result drop table #result end $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SREZ_CONFORM_REPORT) name=Отчет Справка к отчету об инвестиционных вложениях class=5 filter=null target_state= uo=uo_print dw=d_pif_srez_conform_report procedure=ap_60150000000022705 patterns=null user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .GET_PROPS declare @fond_name varchar(255), @fond_type int select @fond_name = partner_name, @fond_type = fond_type from t_partners, td_pay_fond where t_partners.id = @fond_id and td_pay_fond.id = @fond_id select @sid, @srez_date, @fond_name, @fond_type End $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SREZ_FILTER) name=Фильтр class=6 filter=null target_state= uo=uo_filter dw=d_pif_sres_filter procedure=ap_60150000000022874 patterns=EXTEND_FILTER user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=2039 height=552 proc_text=$TEXT(14364583) create procedure dbo.%PROC% as begin declare @srez_date_db datetime declare @srez_date_de datetime declare @fond_id numeric declare @remark varchar(255) select @fond_id = .ORGANIZATION select @srez_date_db as srez_date_db, @srez_date_de as srez_date_de, convert(varchar(30), @fond_id) as fond_id_s, @remark as remark, t_partners.partner_short_name as owner_name from t_partners where t_partners.id = @fond_id end $ENDTEXT(14364583) $FILTER(FOND_ID) type=1 label=Фонд prop=FOND_ID arg_code=null arg_type=null arg_length=null arg_prec=null arg_scale=null $ENDFILTER $FILTER(REMARK) type=3 label=Комментарий prop=REMARK arg_code=null arg_type=null arg_length=null arg_prec=null arg_scale=null $ENDFILTER $FILTER(SREZ_DATE) type=2 label=Дата среза prop=SREZ_DATE arg_code=null arg_type=null arg_length=null arg_prec=null arg_scale=null $ENDFILTER $ENDFORM $FORM(PIF_SREZ_INVEST_LIST) name=Перечень к отчету об вложениях class=4 filter=null target_state= uo=null dw=d_pif_fcs_invest_report_list procedure=apt_pif_fcs_invest_report_list patterns=null user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .GET_PROPS declare @fund_type numeric select @fund_type = td_pay_fond.fond_type from td_pay_fond where td_pay_fond.id = @fond_id if (@activ_sum is null) or (@activ_sum = 0) .EXIT_MESSAGE('В данном срезе не расчитана стоимость активов') create table #report( rorder int null, rname varchar(255) null, rcode varchar(50) null, rqty money null, rbal money null, rsum money null, rpersent decimal(18,8) null) declare @count integer select @count = 0 declare @sum money declare @sum1 money declare @total money select @total = 0 declare @total_pas money select @total_pas = 0 declare @pay money select @pay = 0 declare @total2pay money select @total2pay = 0 declare @stock_sum money declare @bal_sum money declare @persent decimal(18,8) declare @stock_name varchar(255) declare @s_stock_qty money declare @s_bal_sum money declare @s_stock_sum money declare @s_persent decimal(18,8) declare @ts_stock_qty money declare @ts_bal_sum money declare @ts_stock_sum money declare @ts_persent decimal(18,8) declare @nts_stock_qty money declare @nts_bal_sum money declare @nts_stock_sum money declare @nts_persent decimal(18,8) declare @a_stock_qty money declare @a_bal_sum money declare @a_stock_sum money declare @a_persent decimal(18,8) select @count = @count + 1 insert into #report values(@count, 'КОТИРУЕМЫЕ ЦЕННЫЕ БУМАГИ', null, null, null, null, null) select @count = @count + 1 insert into #report values(@count, 'Акции в том числе', null, null, null, null, null) select @count = @count + 1 insert into #report values(@count, 'привилегированные', null, null, null, null, null) /* Привелегированные акции */ select @s_stock_qty = 0 select @s_bal_sum = 0 select @s_stock_sum = 0 select @s_persent = 0 declare portfolio cursor for select stock_qty, stock_sum, bal_sum, round((convert(decimal(18,8),stock_sum)/@activ_sum),8) as persent, td_stock_emis.stock_name from tp_pif_srez_portfolio, td_stock_emis where tp_pif_srez_portfolio.srez_id=@id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio') and tp_pif_srez_portfolio.stock_id=td_stock_emis.id and (tp_pif_srez_portfolio.rate_date=@srez_date and tp_pif_srez_portfolio.rate_date is not null and tp_pif_srez_portfolio.stock_rate<>0 and tp_pif_srez_portfolio.is_rate=1) and exists(select 1 from t_nclass_value2item vi, t_nclass_types t, t_nclass_values v where vi.item_id=td_stock_emis.id and v.id=vi.class_value_id and t.id=vi.class_type_id and t.class_code='SHARE_TYPE' and v.value_code='API_SHARE' and v.class_type_id=t.id) /* and exists(select 1 from t_item2class, t_classvalues, t_classes where t_item2class.item_id=td_stock_emis.id and t_classvalues.id=t_item2class.value_id and t_classes.id=t_classvalues.class_id and t_classes.code='STOCK_TYPES_PIF' and t_classvalues.code='STOCK_PRIV') */ order by td_stock_emis.stock_name open portfolio fetch portfolio into @stock_qty, @stock_sum, @bal_sum, @persent, @stock_name while .CURSOR_STATE=0 begin select @s_stock_qty = @s_stock_qty + @stock_qty select @s_bal_sum = @s_bal_sum + @bal_sum select @s_stock_sum = @s_stock_sum + @stock_sum select @s_persent = @s_persent + @persent select @count = @count + 1 insert into #report values(@count, @stock_name, null, @stock_qty, @bal_sum, @stock_sum, @persent) fetch portfolio into @stock_qty, @stock_sum, @bal_sum, @persent, @stock_name end close portfolio deallocate cursor portfolio /* End Привелегированные акции*/ select @count = @count + 1 insert into #report values(@count, 'обыкновенные', null, null, null, null, null) /* Обыкновенные акции */ declare portfolio cursor for select stock_qty, stock_sum, bal_sum, round((convert(decimal(18,8),stock_sum)/@activ_sum),8) as persent, td_stock_emis.stock_name from tp_pif_srez_portfolio, td_stock_emis where tp_pif_srez_portfolio.srez_id=@id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio') and tp_pif_srez_portfolio.stock_id=td_stock_emis.id and (tp_pif_srez_portfolio.rate_date=@srez_date and tp_pif_srez_portfolio.rate_date is not null and tp_pif_srez_portfolio.stock_rate<>0 and tp_pif_srez_portfolio.is_rate=1) and exists(select 1 from t_nclass_value2item vi, t_nclass_types t, t_nclass_values v where vi.item_id=td_stock_emis.id and v.id=vi.class_value_id and t.id=vi.class_type_id and t.class_code='SHARE_TYPE' and v.value_code='AOI_SHARE' and v.class_type_id=t.id) /* and exists(select 1 from t_item2class, t_classvalues, t_classes where t_item2class.item_id=td_stock_emis.id and t_classvalues.id=t_item2class.value_id and t_classes.id=t_classvalues.class_id and t_classes.code='STOCK_TYPES_PIF' and t_classvalues.code='STOCK_NORM') */ order by td_stock_emis.stock_name open portfolio fetch portfolio into @stock_qty, @stock_sum, @bal_sum, @persent, @stock_name while .CURSOR_STATE=0 begin select @s_stock_qty = @s_stock_qty + @stock_qty select @s_bal_sum = @s_bal_sum + @bal_sum select @s_stock_sum = @s_stock_sum + @stock_sum select @s_persent = @s_persent + @persent select @count = @count + 1 insert into #report values(@count, @stock_name, null, @stock_qty, @bal_sum, @stock_sum, @persent) fetch portfolio into @stock_qty, @stock_sum, @bal_sum, @persent, @stock_name end close portfolio deallocate cursor portfolio /* End Обыкновенные акции*/ select @count = @count + 1 insert into #report values(@count, 'Итого:', '010', @s_stock_qty, @s_bal_sum, @s_stock_sum, @s_persent) select @ts_stock_qty = @s_stock_qty select @ts_bal_sum = @s_bal_sum select @ts_stock_sum = @s_stock_sum select @ts_persent = @s_persent select @s_stock_qty = 0 select @s_bal_sum = 0 select @s_stock_sum = 0 select @s_persent = 0 select @count = @count + 1 insert into #report values(@count, 'Облигации', null, null, null, null, null) /* Облигации */ declare portfolio cursor for select stock_qty, stock_sum, bal_sum, round((convert(decimal(18,8),stock_sum)/@activ_sum),8) as persent, td_stock_emis.stock_name from tp_pif_srez_portfolio, td_stock_emis where tp_pif_srez_portfolio.srez_id=@id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio') and tp_pif_srez_portfolio.stock_id=td_stock_emis.id and (tp_pif_srez_portfolio.rate_date=@srez_date and tp_pif_srez_portfolio.rate_date is not null and tp_pif_srez_portfolio.stock_rate<>0 and tp_pif_srez_portfolio.is_rate=1) and exists(select 1 from t_nclass_value2item vi, t_nclass_types t, t_nclass_values v where vi.item_id=td_stock_emis.id and v.id=vi.class_value_id and t.id=vi.class_type_id and t.class_code='STOCK_TYPE' and v.value_code='OBLIG' and v.class_type_id=t.id) /* and exists(select 1 from t_item2class, t_classvalues, t_classes where t_item2class.item_id=td_stock_emis.id and t_classvalues.id=t_item2class.value_id and t_classes.id=t_classvalues.class_id and t_classes.code='STOCK_TYPES_PIF' and t_classvalues.code='STOCK_OBL') */ order by td_stock_emis.stock_name open portfolio fetch portfolio into @stock_qty, @stock_sum, @bal_sum, @persent, @stock_name while .CURSOR_STATE=0 begin select @s_stock_qty = @s_stock_qty + @stock_qty select @s_bal_sum = @s_bal_sum + @bal_sum select @s_stock_sum = @s_stock_sum + @stock_sum select @s_persent = @s_persent + @persent select @count = @count + 1 insert into #report values(@count, @stock_name, null, @stock_qty, @bal_sum, @stock_sum, @persent) fetch portfolio into @stock_qty, @stock_sum, @bal_sum, @persent, @stock_name end close portfolio deallocate cursor portfolio /* End Облигации*/ select @count = @count + 1 insert into #report values(@count, 'Итого:', '020', @s_stock_qty, @s_bal_sum, @s_stock_sum, @s_persent) select @ts_stock_qty = @ts_stock_qty + @s_stock_qty select @ts_bal_sum = @ts_bal_sum + @s_bal_sum select @ts_stock_sum = @ts_stock_sum + @s_stock_sum select @ts_persent = @ts_persent + @s_persent select @count = @count + 1 insert into #report values(@count, 'ИТОГО КОТИРУЕМЫХ', '030', @ts_stock_qty, @ts_bal_sum, @ts_stock_sum, @ts_persent) select @count = @count + 1 insert into #report values(@count, 'ЦЕННЫХ БУМАГ (строки 010 + 020)', null, null, null, null, null) select @count = @count + 1 insert into #report values(@count, null, null, null, null, null, null) select @count = @count + 1 insert into #report values(@count, 'НЕКОТИРУЕМЫЕ ЦЕННЫЕ БУМАГИ', null, null, null, null, null) select @count = @count + 1 insert into #report values(@count, 'Акции в том числе', null, null, null, null, null) select @count = @count + 1 insert into #report values(@count, 'привилегированные', null, null, null, null, null) /* Привелегированные акции */ select @s_stock_qty = 0 select @s_bal_sum = 0 select @s_stock_sum = 0 select @s_persent = 0 declare portfolio cursor for select stock_qty, stock_sum, bal_sum, round((convert(decimal(18,8),stock_sum)/@activ_sum),8) as persent, td_stock_emis.stock_name from tp_pif_srez_portfolio, td_stock_emis where tp_pif_srez_portfolio.srez_id=@id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio') and tp_pif_srez_portfolio.stock_id=td_stock_emis.id and not (tp_pif_srez_portfolio.rate_date=@srez_date and tp_pif_srez_portfolio.rate_date is not null and tp_pif_srez_portfolio.stock_rate<>0 and tp_pif_srez_portfolio.is_rate=1) and exists(select 1 from t_nclass_value2item vi, t_nclass_types t, t_nclass_values v where vi.item_id=td_stock_emis.id and v.id=vi.class_value_id and t.id=vi.class_type_id and t.class_code='SHARE_TYPE' and v.value_code='API_SHARE' and v.class_type_id=t.id) /* and exists(select 1 from t_item2class, t_classvalues, t_classes where t_item2class.item_id=td_stock_emis.id and t_classvalues.id=t_item2class.value_id and t_classes.id=t_classvalues.class_id and t_classes.code='STOCK_TYPES_PIF' and t_classvalues.code='STOCK_PRIV') */ order by td_stock_emis.stock_name open portfolio fetch portfolio into @stock_qty, @stock_sum, @bal_sum, @persent, @stock_name while .CURSOR_STATE=0 begin select @s_stock_qty = @s_stock_qty + @stock_qty select @s_bal_sum = @s_bal_sum + @bal_sum select @s_stock_sum = @s_stock_sum + @stock_sum select @s_persent = @s_persent + @persent select @count = @count + 1 insert into #report values(@count, @stock_name, null, @stock_qty, @bal_sum, @stock_sum, @persent) fetch portfolio into @stock_qty, @stock_sum, @bal_sum, @persent, @stock_name end close portfolio deallocate cursor portfolio /* End Привелегированные акции*/ select @count = @count + 1 insert into #report values(@count, 'обыкновенные', null, null, null, null, null) /* Обыкновенные акции */ declare portfolio cursor for select stock_qty, stock_sum, bal_sum, round((convert(decimal(18,8),stock_sum)/@activ_sum),8) as persent, td_stock_emis.stock_name from tp_pif_srez_portfolio, td_stock_emis where tp_pif_srez_portfolio.srez_id=@id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio') and tp_pif_srez_portfolio.stock_id=td_stock_emis.id and not (tp_pif_srez_portfolio.rate_date=@srez_date and tp_pif_srez_portfolio.rate_date is not null and tp_pif_srez_portfolio.stock_rate<>0 and tp_pif_srez_portfolio.is_rate=1) and exists(select 1 from t_nclass_value2item vi, t_nclass_types t, t_nclass_values v where vi.item_id=td_stock_emis.id and v.id=vi.class_value_id and t.id=vi.class_type_id and t.class_code='SHARE_TYPE' and v.value_code='AOI_SHARE' and v.class_type_id=t.id) /* and exists(select 1 from t_item2class, t_classvalues, t_classes where t_item2class.item_id=td_stock_emis.id and t_classvalues.id=t_item2class.value_id and t_classes.id=t_classvalues.class_id and t_classes.code='STOCK_TYPES_PIF' and t_classvalues.code='STOCK_NORM') */ order by td_stock_emis.stock_name open portfolio fetch portfolio into @stock_qty, @stock_sum, @bal_sum, @persent, @stock_name while .CURSOR_STATE=0 begin select @s_stock_qty = @s_stock_qty + @stock_qty select @s_bal_sum = @s_bal_sum + @bal_sum select @s_stock_sum = @s_stock_sum + @stock_sum select @s_persent = @s_persent + @persent select @count = @count + 1 insert into #report values(@count, @stock_name, null, @stock_qty, @bal_sum, @stock_sum, @persent) fetch portfolio into @stock_qty, @stock_sum, @bal_sum, @persent, @stock_name end close portfolio deallocate cursor portfolio /* End Обыкновенные акции*/ select @count = @count + 1 insert into #report values(@count, 'Итого:', '040', @s_stock_qty, @s_bal_sum, @s_stock_sum, @s_persent) select @nts_stock_qty = @s_stock_qty select @nts_bal_sum = @s_bal_sum select @nts_stock_sum = @s_stock_sum select @nts_persent = @s_persent select @s_stock_qty = 0 select @s_bal_sum = 0 select @s_stock_sum = 0 select @s_persent = 0 select @count = @count + 1 insert into #report values(@count, 'Облигации', null, null, null, null, null) /* Облигации */ declare portfolio cursor for select stock_qty, stock_sum, bal_sum, round((convert(decimal(18,8),stock_sum)/@activ_sum),8) as persent, td_stock_emis.stock_name from tp_pif_srez_portfolio, td_stock_emis where tp_pif_srez_portfolio.srez_id=@id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio') and tp_pif_srez_portfolio.stock_id=td_stock_emis.id and not (tp_pif_srez_portfolio.rate_date=@srez_date and tp_pif_srez_portfolio.rate_date is not null and tp_pif_srez_portfolio.stock_rate<>0 and tp_pif_srez_portfolio.is_rate=1) and exists(select 1 from t_nclass_value2item vi, t_nclass_types t, t_nclass_values v where vi.item_id=td_stock_emis.id and v.id=vi.class_value_id and t.id=vi.class_type_id and t.class_code='STOCK_TYPE' and v.value_code='OBLIG' and v.class_type_id=t.id) /* and exists(select 1 from t_item2class, t_classvalues, t_classes where t_item2class.item_id=td_stock_emis.id and t_classvalues.id=t_item2class.value_id and t_classes.id=t_classvalues.class_id and t_classes.code='STOCK_TYPES_PIF' and t_classvalues.code='STOCK_OBL') */ order by td_stock_emis.stock_name open portfolio fetch portfolio into @stock_qty, @stock_sum, @bal_sum, @persent, @stock_name while .CURSOR_STATE=0 begin select @s_stock_qty = @s_stock_qty + @stock_qty select @s_bal_sum = @s_bal_sum + @bal_sum select @s_stock_sum = @s_stock_sum + @stock_sum select @s_persent = @s_persent + @persent select @count = @count + 1 insert into #report values(@count, @stock_name, null, @stock_qty, @bal_sum, @stock_sum, @persent) fetch portfolio into @stock_qty, @stock_sum, @bal_sum, @persent, @stock_name end close portfolio deallocate cursor portfolio /* End Облигации*/ select @count = @count + 1 insert into #report values(@count, 'Итого:', '050', @s_stock_qty, @s_bal_sum, @s_stock_sum, @s_persent) select @nts_stock_qty = @nts_stock_qty + @s_stock_qty select @nts_bal_sum = @nts_bal_sum + @s_bal_sum select @nts_stock_sum = @nts_stock_sum + @s_stock_sum select @nts_persent = @nts_persent + @s_persent select @count = @count + 1 insert into #report values(@count, 'ИТОГО НЕКОТИРУЕМЫХ', '060', @nts_stock_qty, @nts_bal_sum, @nts_stock_sum, @nts_persent) select @count = @count + 1 insert into #report values(@count, 'ЦЕННЫХ БУМАГ (строки 040 + 050)', null, null, null, null, null) select @count = @count + 1 insert into #report values(@count, null, null, null, null, null, null) select @count = @count + 1 insert into #report values(@count, 'ПРОЧИЕ ФИНАНСОВЫЕ ВЛОЖЕНИЯ', '070', null, null, null, null) select @a_stock_qty = @ts_stock_qty + @nts_stock_qty select @a_bal_sum = @ts_bal_sum + @nts_bal_sum select @a_stock_sum = @ts_stock_sum + @nts_stock_sum select @a_persent = @ts_persent + @nts_persent select @count = @count + 1 insert into #report values(@count, 'ИТОГО ФИНАНСОВЫХ ВЛОЖЕНИЙ', '080', @a_stock_qty, @a_bal_sum, @a_stock_sum, @a_persent) select @count = @count + 1 insert into #report values(@count, '(строки 030 + 060 + 070)', null, null, null, null, null) if @fund_type = 2 begin /* Интервальный фонд*/ select @count = @count + 1 insert into #report values(@count, 'ОБЪЕКТЫ НЕДВИЖИМОСТИ', null, null, null, null, null) select @count = @count + 1 insert into #report values(@count, 'ИТОГО ОБЪЕКТОВ НЕДВИЖИМОСТИ', '090', null, null, null, null) select @count = @count + 1 insert into #report values(@count, null, null, null, null, null, null) select @count = @count + 1 insert into #report values(@count, 'ИТОГО ВСЕХ ИНВЕСТИЦИЙ', '100', @a_stock_qty, @a_bal_sum, @a_stock_sum, @a_persent) select @count = @count + 1 insert into #report values(@count, '(строки 080 + 090)', null, null, null, null, null) end select * from #report End $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SREZ_INVEST_REPORT) name=Отчет об инвестиционных вложениях class=5 filter=null target_state= uo=uo_print dw=d_pif_fcs_invest_report_edit procedure=ap_60150000000010883 patterns=null user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .GET_PROPS declare @fond_name varchar(255) select @fond_name = partner_name from t_partners where t_partners.id = @fond_id select @sid, @srez_date, @fond_name End $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SREZ_LIST) name=Список class=4 filter=PIF_SREZ_FILTER target_state= uo=uo_list dw=d_pif_sres_list procedure=ap_50630000000028966 patterns=GENERIC_VIEW_LIST user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=2834 height=1428 proc_text=$TEXT(14364583) create procedure dbo.%PROC% @sid varchar(30) = null .ARGLIST_FILTER as declare @action_id numeric, @user_id numeric, @state_id numeric, @type_id numeric begin set nocount on select @action_id = %ACTION_ID% .CHECK_USER .CHECK_VIEW .ARGCONVERT_FILTER .VIEW_LIST end $ENDTEXT(14364583) $ACTION2RELATION(REL2.PARTNER_CODE) relation=REL2 where=null prop=PARTNER_CODE order=1 alias=partner_code $ENDACTION2RELATION $ACTION2RELATION(REL2.PARTNER_SHORT_NAME) relation=REL2 where=null prop=PARTNER_SHORT_NAME order=3 alias=partner_short_name $ENDACTION2RELATION $ENDFORM $FORM(PIF_SREZ_LIST4QUERY) name=Список срезов class=4 filter=null target_state= uo=uo_list dw=d_pif_sres_list procedure=ap_60045000000000010 patterns=GENERIC_VIEW_LIST user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) create procedure dbo.%PROC% @sid varchar(30) = null .ARGLIST_FILTER as declare @action_id numeric, @user_id numeric, @state_id numeric, @type_id numeric begin set nocount on select @action_id = %ACTION_ID% .CHECK_USER .CHECK_VIEW select @item_remark=null .ARGCONVERT_FILTER .VIEW_LIST end $ENDTEXT(14364583) $ACTION2RELATION(REL2.PARTNER_CODE) relation=REL2 where=null prop=PARTNER_CODE order=null alias=partner_code $ENDACTION2RELATION $ACTION2RELATION(REL2.PARTNER_SHORT_NAME) relation=REL2 where=null prop=PARTNER_SHORT_NAME order=null alias=partner_short_name $ENDACTION2RELATION $FILTER(QUERY_ID) type=11 label=Запрос на срез prop=QUERY_ID arg_code=null arg_type=null arg_length=null arg_prec=null arg_scale=null $ENDFILTER $ENDFORM $FORM(PIF_SREZ_OPER_LIST) name=Перечень к отчету об операциях class=4 filter=null target_state= uo=null dw=d_pif_srez_oper_list procedure=ap_pif_srez_oper_list patterns=null user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .GET_PROPS create table #report( rorder int null, rname varchar(255) null, rcode varchar(50) null, rsum money null) declare @fund_plan_id numeric declare @acc_id numeric --select @fund_plan_id = .ARG_PLAN('PIF_ACCOUNT') .PIF_PLAN_ID(@srez_date,@fond_id,@fund_plan_id) declare @sum money declare @dox money declare @ras money declare @rez money declare @act money declare @act_nkd money declare @total money select @dox = 0 select @ras = 0 select @rez = 0 select @act = 0 select @act_nkd = 0 select @total = 0 declare @fund_type numeric select @fund_type = td_pay_fond.fond_type from td_pay_fond where td_pay_fond.id = @fond_id if @fund_type = 2 begin /* Обработка интервального фонда */ insert into #report values(1, 'Прирост (уменьшение) стомости имущества фонда от реализации активов', null, null) insert into #report values(2, 'в том числе:', null, null) /* Прирост или уменьшение стоимости имущества Фонда от реализации активов */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.1') select @sum = isnull((select sum(obor_cred) - sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) -- and t_accounts.acc_num_eff_rep like '.96.3.1.%'), 0) select @dox = @dox + @sum insert into #report values(3, 'Прирост (уменьшение) стомости имущества фонда от реализации ценных бумаг', '010', @sum) select @sum = 0 /* select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.??') select @sum = isnull((select sum(obor_cred) - sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) */ select @dox = @dox + @sum insert into #report values(4, 'Прирост (уменьшение) стомости имущества фонда от реализации объектов недвижимости', '011', @sum) insert into #report values(5, '', null, null) insert into #report values(10, 'Инвестиционный доход', null, null) insert into #report values(11, 'в том числе:', null, null) /* Проценты по депозитам */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.2') select @sum = isnull((select sum(obor_cred) - sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Проценты по облигациям */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.5') select @sum = @sum + isnull((select sum(obor_cred) - sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Накопленный купонный доход */ select @sum = @sum + isnull((select sum(coupon_sum) from tp_pif_srez_portfolio where srez_id = @id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio')),0) /* Уплаченный накопленный купонный доход */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'76.6') select @sum = @sum - isnull((select sum(saldo_deb) - sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) select @dox = @dox + @sum insert into #report values(12, 'проценты (доходы) по облигациям и прочим финансовым вложениям', '020', @sum) /* Дивиденды */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.3') select @sum = isnull((select sum(obor_cred) - sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) select @dox = @dox + @sum insert into #report values(14, 'дивиденды', '021', @sum) insert into #report values(15, '', null, null) /* Прочий прирост (уменьшение) имущества */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.6') select @sum = isnull((select sum(obor_cred) - sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Проценты по остаткам на расчетном счете */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.7') select @sum = @sum + isnull((select sum(obor_cred) - sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Курсовые (суммовые) разницы */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.4') select @sum = @sum + isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) select @dox = @dox + @sum insert into #report values(16, 'Прочие доходы', '030', @sum) insert into #report values(17, 'Итого (сумма строк 010 - 030)', '040', @dox) insert into #report values(18, '', null, null) insert into #report values(20, 'РАСХОДЫ:', null, null) insert into #report values(21, 'в том числе:', null, null) /* Расчеты с управляющей компанией */ select @sum = isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.76.1.%'), 0) select @ras = @sum insert into #report values(22, 'вознаграждение управляющей компании', '050', @sum) /* Расчеты со специализированным депозитарием */ select @sum = isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.76.2.%'), 0) select @ras = @ras + @sum insert into #report values(23, 'услуги специализированного депозитария', '051', @sum) /* Расчеты со специализированным регистратором */ select @sum = isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.76.3.%'), 0) select @ras = @ras + @sum insert into #report values(24, 'услуги специализированного регистратора', '052', @sum) /* Расчеты с независимым оценщиком */ select @sum = isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.76.17.%'), 0) select @ras = @ras + @sum insert into #report values(25, 'услуги независимого оценщика', '053', @sum) /* Расчеты с аудитором */ select @sum = isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.76.18.%'), 0) select @ras = @ras + @sum insert into #report values(26, 'услуги аудитора', '054', @sum) /* Расчеты по прочим расходам */ select @sum = isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.76.8.%'), 0) select @ras = @ras + @sum insert into #report values(27, '', null, null) insert into #report values(28, 'Прочие расходы', '055', @sum) insert into #report values(29, '', null, null) insert into #report values(30, 'Итого всех расходов связанных с деятельностью фонда (сумма строк 050-055)', '060', @ras) /* Резерв на оплату услуг управляющей компании */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'89.1') select @rez = isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Резерв на прочие резервы */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'89.2') select @rez = @rez + isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Резерв на СД, СР... */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'89.3') select @rez = @rez + isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) insert into #report values(31, '', null, null) insert into #report values(32, 'Резерв на оплату услуг управляющей компании и иных лиц', '070', @rez) insert into #report values(31, '', null, null) if @ras > @rez begin insert into #report values(32, 'Расходы, связанные с деятельностью фонда,', '080', (@ras - @rez)) insert into #report values(33, 'сверх начисленного резерва на оплату услуг управляющей компании и иных лиц', null, null) end else begin insert into #report values(32, 'Расходы, связанные с деятельностью фонда,', '080', null) insert into #report values(33, 'сверх начисленного резерва на оплату услуг управляющей компании и иных лиц', null, null) end insert into #report values(40, '', null, null) /* Курсовые (суммовые) разницы */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.4') select @sum = isnull((select sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) select @ras = @ras + @sum insert into #report values(40, 'Прочие расходы (потери) за счет имущества фонда', '090', @sum) insert into #report values(50, '', null, null) select @sum = @dox - @rez - @sum insert into #report values(51, 'Итого прирост (уменьшение) стоимости имущества фонда от', '100', @sum) insert into #report values(52, 'реализации активов и инвестиционного дохода за вычетом резерва и прочих', null, null) insert into #report values(53, 'расходов за счет имущества фонда (стр.040 - стр.070 - стр.090)', null, null) --insert into #report values(54, '', null, null) /* Разница отклонений оценочной стоимости от балансовой */ select @act = isnull((select sum(stock_sum) - sum(bal_sum) from tp_pif_srez_portfolio where srez_id = @id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio')),0) select @act = @act - isnull((select sum(stock_sum) - sum(bal_sum) from tp_pif_srez_portfolio where srez_id = @startsrez_id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio')),0) select @act_nkd = isnull((select sum(coupon_sum) from tp_pif_srez_portfolio where srez_id = @id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio')),0) select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'76.6') select @act_nkd = @act_nkd - isnull((select sum(saldo_deb) - sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) select @act_nkd = @act_nkd - isnull((select sum(coupon_sum) from tp_pif_srez_portfolio where srez_id = @startsrez_id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio')),0) select @act_nkd = @act_nkd + isnull((select sum(saldo_deb) - sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @startsrez_id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) select @act = @act + @act_nkd insert into #report values(61, 'Прирост (уменьшение) стоимости имущества фонда от переоценки активов', '110', @act) insert into #report values(62, '', null, null) insert into #report values(71, 'Итого прирост (уменьшение) стоимости имущества фонда от операционной деятельности', '120', (@sum + @act)) insert into #report values(72, '(стр.100 + стр.110)', null, null) end /* Обработка интервального фонда */ /*************************************************************************************/ else if @fund_type = 1 begin /* Обработка открытого фонда */ /* Прирост или уменьшение стоимости имущества Фонда от реализации активов */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.1') select @sum = isnull((select sum(obor_cred) - sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) select @dox = @sum insert into #report values(1, 'Прирост (уменьшение) стомости имущества фонда от реализации активов', '010', @sum) insert into #report values(5, '', null, null) insert into #report values(10, 'Инвестиционный доход', null, null) insert into #report values(11, 'в том числе:', null, null) /* Проценты по депозитам */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.2') select @sum = isnull((select sum(obor_cred) - sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Проценты по облигациям */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.5') select @sum = @sum + isnull((select sum(obor_cred) - sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Накопленный купонный доход */ select @sum = @sum + isnull((select sum(coupon_sum) from tp_pif_srez_portfolio where srez_id = @id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio')),0) /* Уплаченный накопленный купонный доход */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'76.6') select @sum = @sum - isnull((select sum(saldo_deb) - sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) select @dox = @dox + @sum insert into #report values(12, 'проценты (доходы) по облигациям и прочим финансовым вложениям', '020', @sum) /* Дивиденды */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.3') select @sum = isnull((select sum(obor_cred) - sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) select @dox = @dox + @sum insert into #report values(14, 'дивиденды', '021', @sum) insert into #report values(15, '', null, null) /* Прочий прирост (уменьшение) имущества */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.6') select @sum = isnull((select sum(obor_cred) - sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Проценты по остаткам на расчетном счете */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.7') select @sum = @sum + isnull((select sum(obor_cred) - sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Курсовые (суммовые) разницы */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.4') select @sum = @sum + isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) select @dox = @dox + @sum insert into #report values(16, 'Прочие доходы', '030', @sum) insert into #report values(17, 'Итого (сумма строк 010 - 030)', '040', @dox) insert into #report values(18, '', null, null) insert into #report values(20, 'РАСХОДЫ:', null, null) insert into #report values(21, 'в том числе:', null, null) /* Расчеты с управляющей компанией */ select @sum = isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.76.1.%'), 0) select @ras = @sum insert into #report values(22, 'вознаграждение управляющей компании', '050', @sum) /* Расчеты со специализированным депозитарием */ select @sum = isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.76.2.%'), 0) select @ras = @ras + @sum insert into #report values(23, 'услуги специализированного депозитария', '051', @sum) /* Расчеты со специализированным регистратором */ select @sum = isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.76.3.%'), 0) select @ras = @ras + @sum insert into #report values(24, 'услуги специализированного регистратора', '052', @sum) /* Расчеты с аудитором */ select @sum = isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.76.18.%'), 0) select @ras = @ras + @sum insert into #report values(26, 'услуги аудитора', '053', @sum) /* Расчеты по прочим расходам */ select @sum = isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.76.8.%'), 0) /* Расчеты с независимым оценщиком */ select @sum = @sum + isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.76.17.%'), 0) select @ras = @ras + @sum insert into #report values(27, '', null, null) insert into #report values(28, 'Прочие расходы', '054', @sum) insert into #report values(29, '', null, null) insert into #report values(30, 'Итого всех расходов связанных с деятельностью фонда (сумма строк 050-054)', '060', @ras) /* Резерв на оплату услуг управляющей компании */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'89.1') select @rez = isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Резерв на прочие резервы */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'89.2') select @rez = @rez + isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) /* Резерв на СД,СР... */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'89.3') select @rez = @rez + isnull((select sum(obor_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) insert into #report values(31, '', null, null) insert into #report values(32, 'Резерв на оплату услуг управляющей компании и иных лиц', '070', @rez) insert into #report values(31, '', null, null) if @ras > @rez begin insert into #report values(32, 'Расходы, связанные с деятельностью фонда,', '080', (@ras - @rez)) insert into #report values(33, 'сверх начисленного резерва на оплату услуг управляющей компании и иных лиц', null, null) end else begin insert into #report values(32, 'Расходы, связанные с деятельностью фонда,', '080', null) insert into #report values(33, 'сверх начисленного резерва на оплату услуг управляющей компании и иных лиц', null, null) end insert into #report values(40, '', null, null) /* Курсовые (суммовые) разницы */ select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'96.3.4') select @sum = isnull((select sum(obor_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) select @ras = @ras + @sum insert into #report values(40, 'Прочие расходы (потери) за счет имущества фонда', '090', @sum) insert into #report values(50, '', null, null) select @sum = @dox - @rez - @sum insert into #report values(51, 'Итого прирост (уменьшение) стоимости имущества фонда от', '100', @sum) insert into #report values(52, 'реализации активов и инвестиционного дохода за вычетом резерва и прочих', null, null) insert into #report values(53, 'расходов за счет имущества фонда (стр.040 - стр.070 - стр.090)', null, null) --insert into #report values(54, '', null, null) /* Разница отклонений оценочной стоимости от балансовой */ select @act = isnull((select sum(stock_sum) - sum(bal_sum) from tp_pif_srez_portfolio where srez_id = @id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio')),0) select @act = @act - isnull((select sum(stock_sum) - sum(bal_sum) from tp_pif_srez_portfolio where srez_id = @startsrez_id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio')),0) select @act = isnull((select sum(stock_sum) - sum(bal_sum) from tp_pif_srez_portfolio where srez_id = @id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio')),0) select @act = @act - isnull((select sum(stock_sum) - sum(bal_sum) from tp_pif_srez_portfolio where srez_id = @startsrez_id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio')),0) select @act_nkd = isnull((select sum(coupon_sum) from tp_pif_srez_portfolio where srez_id = @id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio')),0) select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'76.6') select @act_nkd = @act_nkd - isnull((select sum(saldo_deb) - sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) select @act_nkd = @act_nkd - isnull((select sum(coupon_sum) from tp_pif_srez_portfolio where srez_id = @startsrez_id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio')),0) select @act_nkd = @act_nkd + isnull((select sum(saldo_deb) - sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @startsrez_id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) select @act = @act + @act_nkd insert into #report values(61, 'Прирост (уменьшение) стоимости имущества фонда от переоценки активов', '110', @act) insert into #report values(62, '', null, null) insert into #report values(71, 'Итого прирост (уменьшение) стоимости имущества фонда от операционной деятельности', '120', (@sum + @act)) insert into #report values(72, '(стр.100 + стр.110)', null, null) end /* Открытый фонд */ select * from #report End $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SREZ_OPER_REPORT) name=Отчет об операциях class=5 filter=null target_state= uo=uo_print dw=d_pif_srez_oper_report procedure=ap_60150000000022701 patterns=null user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364583) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .GET_PROPS declare @fond_name varchar(255) select @fond_name = partner_name from t_partners where t_partners.id = @fond_id select @sid, @srez_date, @fond_name End $ENDTEXT(14364583) $ENDFORM $FORM(PIF_SREZ_OP_JOURNAL_DETAIL) name=Журнал проводок (перечень) class=4 filter=PIF_SREZ_OP_JOURNAL_FILTER target_state= uo=null dw=d_pif_srez_op_journal_list procedure=ap_pif_srez_op_journal_list patterns=null user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364584) create procedure dbo.%PROC% @sid varchar(30) = null .ARGLIST_FILTER as declare @action_id numeric, @user_id numeric, @state_id numeric, @type_id numeric begin set nocount on select @action_id = %ACTION_ID% .CHECK_USER .ARGCONVERT_FILTER declare @fund_id numeric declare @fund_code varchar(50) select @fund_id = (select org_id from t_users where login_name=suser_name()) if @fund_id is null .EXIT_MESSAGE('Не задана организация учета для текущего пользователя') select @fund_code = (select partner_code from t_partners where id=@fund_id) declare @plan_id numeric, @plan_code varchar(60) .PIF_PLAN_ID(@rep_date_ee,@fund_id,@plan_id) select @plan_code=plan_code from t_plans where id=@plan_id declare @partner2plan_id numeric select @partner2plan_id=.PLAN2PARTNER(@fund_code,@plan_code) select o.op_date, o.op_sum, da.acc_num_eff d_acc_num, d.subc_eff_name d_subconto, ca.acc_num_eff c_acc_num, c.subc_eff_name c_subconto, i.item_name, o.op_name from t_operations o, t_items i,t_oper_list d, t_oper_list c, t_accounts da, t_accounts ca where o.partner2plan_id=@partner2plan_id and o.op_date>=@rep_date_bb and o.op_date> корр c 51 по деб. and exists (select 1 from t_oper_list ol2 where ol2.partner2plan_id= @partner2plan_id and ol2.op_date < dateadd(day,1,@srez_date) and ol2.acc_id=@acc_51_id and ol2.deb_or_cred=1 and ol2.head_id=ol.head_id) -- поручения на продажу insert into #opers ( partner_id, doc_id, sum_oper, date_oper) select @partner_id, op.item_id, ol.sum_bal, ol.op_date from t_operations op, t_oper_list ol, t_oper_subconto su where ol.head_id = op.id and ol.id=su.id and su.subconto_type_id=@partner_subc_id and su.item_id=@partner_id and ol.partner2plan_id= @partner2plan_id and ol.op_date < dateadd(day,1,@srez_date) and ol.acc_id = @acc_sale_id and ol.deb_or_cred=1 -->> корр c 48 по кред. and exists (select 1 from t_oper_list ol2 where ol2.partner2plan_id= @partner2plan_id and ol2.op_date < dateadd(day,1,@srez_date) and ol2.acc_id in (@acc_48_id, @acc_pnkd_id) and ol2.deb_or_cred=-1 and ol2.head_id=ol.head_id) -- сделки продажи (перерег.сумма) insert into #report ( acc_id, partner_id, doc_state, doc_type, doc_id, sum_yes, date_op) select @acc_sale_id, @partner_id, 1, 1, d.foundation_id, sum(#opers.sum_oper), max(#opers.date_oper) from #opers, td_depo_docs d where #opers.doc_id=d.id and upper(.ITEM_TYPE_CODE(#opers.doc_id)) in ('D_STOCK_OUT_OTHER_DEPO','D_STOCK_OUT') and #opers.partner_id=@partner_id group by d.foundation_id -- сделки продажи без перерегистрации, но с исполненным обязательством insert into #report ( acc_id, partner_id, doc_state, doc_type, doc_id, sum_yes) select @acc_sale_id, @partner_id, 1, 1, dd.id, 0 from td_depo_docs dd, tb_baysale_docitems b where dd.id not in (select d.foundation_id from #opers, td_depo_docs d where #opers.doc_id=d.id) and dd.owner_id=@fond_id and dd.id=b.id and b.mode_id in (1,2) and upper(.ITEM_TYPE_CODE(dd.id))='DOG_DEALINGS_SALE' and ((b.organisation_id=@partner_id and b.character_id=2) or (b.contragent_id=@partner_id and b.character_id=1)) and exists (select 1 from tb_plans p, tb_plan_pays pp where p.id=pp.id and p.item_id=dd.id and pp.pay_perpose_id=1 and .ITEMS_EXISTS(p.id) and exists (select 1 from t_operations op where op.item_id=p.id and op.op_date < dateadd(day,1,@srez_date))) fetch cur1 into @partner_id end close cur1 deallocate cursor cur1 -- 76.5.2 -- по покупкам -- по поручению 58.1(76.6) - 76.5.2 -- по платежке 76.5.2 - 51 declare cur2 cursor for select b.partner_id from tp_pif_srez_balance b where b.srez_id=@id and b.acc_id = @acc_buy_id and .ITEMS_EXISTS_BY_TYPE(b.id,'pif_srez_partners') for read only open cur2 fetch cur2 into @partner_id while (@@sqlstatus=0) begin truncate table #opers -- платежи по покупкам insert into #report ( acc_id, partner_id, doc_state, doc_type, doc_id, sum_all, date_op) select @acc_buy_id, @partner_id, 1, 2, op.item_id, ol.sum_bal, ol.op_date from t_operations op, t_oper_list ol, t_oper_subconto su where ol.head_id = op.id and ol.id=su.id and su.subconto_type_id=@partner_subc_id and su.item_id=@partner_id and ol.partner2plan_id= @partner2plan_id and ol.op_date < dateadd(day,1,@srez_date) and ol.acc_id = @acc_buy_id and ol.deb_or_cred=1 and upper(.ITEM_TYPE_CODE(op.item_id))='SD_PAYBANK_OUT' -->> корр c 51 по кред. and exists (select 1 from t_oper_list ol2 where ol2.partner2plan_id= @partner2plan_id and ol2.op_date < dateadd(day,1,@srez_date) and ol2.acc_id=@acc_51_id and ol2.deb_or_cred=-1 and ol2.head_id=ol.head_id) -- поручения на покупку insert into #opers ( partner_id, doc_id, sum_oper, date_oper) select @partner_id, op.item_id, ol.sum_bal, ol.op_date from t_operations op, t_oper_list ol, t_oper_subconto su where ol.head_id = op.id and ol.id=su.id and su.subconto_type_id=@partner_subc_id and su.item_id=@partner_id and ol.partner2plan_id= @partner2plan_id and ol.op_date < dateadd(day,1,@srez_date) and ol.acc_id = @acc_buy_id and ol.deb_or_cred=-1 -->> корр c 58 по деб. and exists (select 1 from t_oper_list ol2 where ol2.partner2plan_id= @partner2plan_id and ol2.op_date < dateadd(day,1,@srez_date) and ol2.acc_id in (@acc_stock_id, @acc_unkd_id) and ol2.deb_or_cred=1 and ol2.head_id=ol.head_id) -- сделки покупки (перерег.сумма) insert into #report ( acc_id, partner_id, doc_state, doc_type, doc_id, sum_yes, date_op) select @acc_buy_id, @partner_id, 1, 1, d.foundation_id, sum(#opers.sum_oper), max(#opers.date_oper) from #opers, td_depo_docs d where #opers.doc_id=d.id and upper(.ITEM_TYPE_CODE(#opers.doc_id)) in ('D_STOCK_IN_OTHER_DEPO_SD','D_STOCK_IN') and #opers.partner_id=@partner_id group by d.foundation_id -- сделки покупки без перерегистрации, но с исполненным обязательством insert into #report ( acc_id, partner_id, doc_state, doc_type, doc_id, sum_yes) select @acc_buy_id, @partner_id, 1, 1, dd.id, 0 from td_depo_docs dd, tb_baysale_docitems b where dd.id not in (select d.foundation_id from #opers, td_depo_docs d where #opers.doc_id=d.id) and dd.owner_id=@fond_id and dd.id=b.id and b.mode_id in (1,2) and upper(.ITEM_TYPE_CODE(dd.id))='DOG_DEALINGS_BAY' and ((b.organisation_id=@partner_id and b.character_id=2) or (b.contragent_id=@partner_id and b.character_id=1)) and exists (select 1 from tb_plans p, tb_plan_pays pp where p.id=pp.id and p.item_id=dd.id and pp.pay_perpose_id=1 and .ITEMS_EXISTS(p.id) and exists (select 1 from t_operations op where op.item_id=p.id and op.op_date < dateadd(day,1,@srez_date))) fetch cur2 into @partner_id end close cur2 deallocate cursor cur2 -- 76.5.4 -- по бирже -- по поручению 76.5.4 - 48 -- по платежке 51 - 76.5.4 declare cur3 cursor for select b.partner_id from tp_pif_srez_balance b where b.srez_id=@id and b.acc_id = @acc_bs_id and .ITEMS_EXISTS_BY_TYPE(b.id,'pif_srez_partners') for read only open cur3 fetch cur3 into @partner_id while (@@sqlstatus=0) begin truncate table #opers -- платежи по продаже на биржу insert into #report ( acc_id, partner_id, doc_state, doc_type, doc_id, sum_all, date_op) select @acc_bs_id, @partner_id, 1, 2, op.item_id, ol.sum_bal, ol.op_date from t_operations op, t_oper_list ol, t_oper_subconto su where ol.head_id = op.id and ol.id=su.id and su.subconto_type_id=@partner_subc_id and su.item_id=@partner_id and ol.partner2plan_id= @partner2plan_id and ol.op_date < dateadd(day,1,@srez_date) and ol.acc_id = @acc_bs_id and ol.deb_or_cred=-1 and upper(.ITEM_TYPE_CODE(op.item_id))='SD_PAYBANK_IN' -->> корр c 51 по деб. and exists (select 1 from t_oper_list ol2 where ol2.partner2plan_id= @partner2plan_id and ol2.op_date < dateadd(day,1,@srez_date) and ol2.acc_id=@acc_51_id and ol2.deb_or_cred=1 and ol2.head_id=ol.head_id) -- платежи по покупкам на бирже insert into #report ( acc_id, partner_id, doc_state, doc_type, doc_id, sum_all, date_op) select @acc_bs_id, @partner_id, 1, 2, op.item_id, ol.sum_bal, ol.op_date from t_operations op, t_oper_list ol, t_oper_subconto su where ol.head_id = op.id and ol.id=su.id and su.subconto_type_id=@partner_subc_id and su.item_id=@partner_id and ol.partner2plan_id= @partner2plan_id and ol.op_date < dateadd(day,1,@srez_date) and ol.acc_id = @acc_bs_id and ol.deb_or_cred=1 and upper(.ITEM_TYPE_CODE(op.item_id))='SD_PAYBANK_OUT' -->> корр c 51 по кред. and exists (select 1 from t_oper_list ol2 where ol2.partner2plan_id= @partner2plan_id and ol2.op_date < dateadd(day,1,@srez_date) and ol2.acc_id=@acc_51_id and ol2.deb_or_cred=-1 and ol2.head_id=ol.head_id) -- поручения на продажу на бирже insert into #opers ( partner_id, doc_id, sum_oper, date_oper) select @partner_id, op.item_id, ol.sum_bal, ol.op_date from t_operations op, t_oper_list ol, t_oper_subconto su where ol.head_id = op.id and ol.id=su.id and su.subconto_type_id=@partner_subc_id and su.item_id=@partner_id and ol.partner2plan_id= @partner2plan_id and ol.op_date < dateadd(day,1,@srez_date) and ol.acc_id = @acc_bs_id and ol.deb_or_cred=1 -->> корр c 48 по кред. and exists (select 1 from t_oper_list ol2 where ol2.partner2plan_id= @partner2plan_id and ol2.op_date < dateadd(day,1,@srez_date) and ol2.acc_id in (@acc_48_id, @acc_pnkd_id) and ol2.deb_or_cred=-1 and ol2.head_id=ol.head_id) -- поручения на покупку на бирже insert into #opers ( partner_id, doc_id, sum_oper, date_oper) select @partner_id, op.item_id, ol.sum_bal, ol.op_date from t_operations op, t_oper_list ol, t_oper_subconto su where ol.head_id = op.id and ol.id=su.id and su.subconto_type_id=@partner_subc_id and su.item_id=@partner_id and ol.partner2plan_id= @partner2plan_id and ol.op_date < dateadd(day,1,@srez_date) and ol.acc_id = @acc_bs_id and ol.deb_or_cred=-1 -->> корр c 58 по деб. and exists (select 1 from t_oper_list ol2 where ol2.partner2plan_id= @partner2plan_id and ol2.op_date < dateadd(day,1,@srez_date) and ol2.acc_id in (@acc_stock_id, @acc_unkd_id) and ol2.deb_or_cred=1 and ol2.head_id=ol.head_id) -- сделки на бирже (перерег.сумма) insert into #report ( acc_id, partner_id, doc_state, doc_type, doc_id, sum_yes, date_op) select @acc_bs_id, @partner_id, 1, 1, d.foundation_id, sum(#opers.sum_oper), max(#opers.date_oper) from #opers, td_depo_docs d where #opers.doc_id=d.id and upper(.ITEM_TYPE_CODE(#opers.doc_id)) in ('D_STOCK_OUT_OTHER_DEPO','D_STOCK_OUT','D_STOCK_IN_OTHER_DEPO_SD','D_STOCK_IN') and #opers.partner_id=@partner_id group by d.foundation_id -- сделки на бирже без перерегистрации, но с исполненным обязательством insert into #report ( acc_id, partner_id, doc_state, doc_type, doc_id, sum_yes) select @acc_bs_id, @partner_id, 1, 1, dd.id, 0 from td_depo_docs dd, tb_baysale_docitems b where dd.id not in (select d.foundation_id from #opers, td_depo_docs d where #opers.doc_id=d.id) and dd.owner_id=@fond_id and dd.id=b.id and b.mode_id=3 and upper(.ITEM_TYPE_CODE(dd.id)) in ('DOG_DEALINGS_SALE','DOG_DEALINGS_BUY') and ((b.organisation_id=@partner_id and b.character_id=2) or (b.contragent_id=@partner_id and b.character_id=1)) and exists (select 1 from tb_plans p, tb_plan_pays pp where p.id=pp.id and p.item_id=dd.id and pp.pay_perpose_id=1 and .ITEMS_EXISTS(p.id) and exists (select 1 from t_operations op where op.item_id=p.id and op.op_date < dateadd(day,1,@srez_date))) fetch cur3 into @partner_id end close cur3 deallocate cursor cur3 update #report set doc_name=t.type_name+' №'+b.transaction_no+' от '+convert(varchar,b.transaction_date,3) from t_items i, t_types t, tb_baysale_docitems b where #report.doc_id=i.id and i.type_id=t.id and #report.doc_id=b.id and #report.doc_type=1 update #report set doc_name=t.type_name+' №'+p.doc_number+' от '+convert(varchar,p.doc_date,3) from t_items i, t_types t, t_paydocs p where #report.doc_id=i.id and i.type_id=t.id and #report.doc_id=p.id and #report.doc_type=2 -- сумма сделок в валюте платежа (кроме неперерег.предпоставки) update #report set sum_all=b.sum_in_paycur+isnull(b.coupon_account_sum,0)*(1-isnull(b.is_coupon_in_sum,0)) from tb_baysale_docitems b where #report.doc_id=b.id and #report.doc_type=1 and b.sum_in_paycur is not null -- исполненные обязательства по связи с платежами update #report set obl_id=p.id from tb_baysale_docitems b, tb_plans p, tb_plan_pays pp where #report.doc_id=b.id and #report.doc_type=1 and p.id=pp.id and p.item_id=b.id and pp.pay_perpose_id=1 and .ITEMS_EXISTS(p.id) and upper(.ITEM_STATE_CODE(p.id))='EXEC' and (exists (select 1 from t_operations op where op.item_id=p.id and op.op_date < dateadd(day,1,@srez_date)) or not exists (select 1 from t_operations op2 where op2.item_id=p.id)) -- сумма покрытий из исполненных обязательств отобранных сделок, связанных с платежем update #report set sum_yes=(select sum(isnull(pi.covered_sum,0)) from t_pays2items pi, #report r2 where r2.doc_type=1 and r2.partner_id=#report.partner_id and pi.docitem_id=r2.obl_id and pi.paydoc_id=#report.doc_id and .ITEMS_EXISTS(pi.id)) where #report.doc_type=2 -- исполненные обязательства по связи со взаимозачетом update #report set obl_id=1 from tb_baysale_docitems b where #report.doc_id=b.id and #report.doc_type=1 and exists (select 1 from t_operations op where op.item_id=(select max(dp.act_id) from t_dealings2pay dp where dp.dog_id=#report.doc_id and .ITEMS_EXISTS(dp.id)) and op.op_date < dateadd(day,1,@srez_date)) -- update #report set sum_no=sum_all-isnull(sum_yes,0) where sum_all is not null -- для платежей update #report set sum_d=sum_no where #report.doc_type=2 and .ITEM_TYPE_CODE(#report.doc_id)='SD_PAYBANK_OUT' update #report set sum_c=sum_no where #report.doc_type=2 and .ITEM_TYPE_CODE(#report.doc_id)='SD_PAYBANK_IN' -- для исполненных сделок update #report set sum_d=sum_no where #report.doc_type=1 and #report.obl_id is not null and .ITEM_TYPE_CODE(#report.doc_id) = 'DOG_DEALINGS_BAY' update #report set sum_c=sum_no where #report.doc_type=1 and #report.obl_id is not null and .ITEM_TYPE_CODE(#report.doc_id) = 'DOG_DEALINGS_SALE' -- дата возникновения задолженности по оплаченным сделкам, по к-рым еще не было перерегистрации update #report set date_op=op.op_date from t_operations op where #report.doc_type=1 and #report.obl_id is not null and #report.obl_id != 1 and #report.sum_yes=0 and #report.date_op is null and .ITEM_TYPE_CODE(#report.doc_id) in ('DOG_DEALINGS_BAY','DOG_DEALINGS_SALE') and op.item_id=#report.obl_id -- для неисполненных сделок update #report set sum_c=sum_yes where #report.doc_type=1 and #report.obl_id is null and .ITEM_TYPE_CODE(#report.doc_id) = 'DOG_DEALINGS_BAY' update #report set sum_d=sum_yes where #report.doc_type=1 and #report.obl_id is null and .ITEM_TYPE_CODE(#report.doc_id) = 'DOG_DEALINGS_SALE' /* -- test select * from #report select acc_id,partner_id,sum(isnull(sum_d,0))-sum(isnull(sum_c,0)) from #report group by acc_id,partner_id */ select convert(varchar(30),#report.acc_id) as acc_id_s, convert(varchar(30),#report.partner_id) as partner_id_s, t_accounts.acc_name, t_partners.partner_name, #report.doc_type, #report.doc_name, convert(varchar(30),#report.doc_id) as doc_id_s, convert(decimal(18,4),#report.sum_all) as sum_all, convert(decimal(18,4),#report.sum_yes) as sum_yes, convert(decimal(18,4),#report.sum_no) as sum_no, convert(decimal(18,4),#report.sum_c) as sum_c, convert(decimal(18,4),#report.sum_d) as sum_d, #report.date_op as date_op from #report, t_accounts, t_partners where #report.acc_id *= t_accounts.id and #report.partner_id *= t_partners.id and (#report.sum_d>0 or #report.sum_c>0) end $ENDTEXT(14364584) $ENDFORM $FORM(PIF_SREZ_SCHA_LIST) name=Перечень Справки СЧА (старый) class=4 filter=null target_state= uo=null dw=null procedure=apt_pif_fcs_scha_report_list patterns=null user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364584) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .GET_PROPS declare @fund_type numeric select @fund_type = td_pay_fond.fond_type from td_pay_fond where td_pay_fond.id = @fond_id create table #report( rorder int null, rname varchar(255) null, rcode varchar(50) null, rsum .PIF_PAY_TYPE null) declare @fund_plan_id numeric declare @acc_id numeric declare @acc1_id numeric declare @acc2_id numeric declare @acc3_id numeric --select @fund_plan_id = .ARG_PLAN('PIF_ACCOUNT') .PIF_PLAN_ID(@srez_date,@fond_id,@fund_plan_id) declare @sum decimal(18,2) declare @sum1 money declare @total money select @total = 0 declare @total_pas money select @total_pas = 0 declare @pay .PIF_PAY_TYPE declare @d_total2pay double precision declare @total2pay money declare @scha money select @total2pay = 0 if @fund_type = 2 begin /* Обработка интервального фонда */ select @pay = (select stock_qty from tp_pif_srez where tp_pif_srez.id = @id) insert into #report values(1, 'АКТИВЫ:', null, null) insert into #report values(2, 'Финансовые вложения', null, null) insert into #report values(3, 'в том числе:', null, null) select @sum = isnull((select sum(saldo_deb) - sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.06.1.%'), 0) select @sum = @sum + isnull((select sum(saldo_deb) - sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.58.1.%'), 0) insert into #report values(4, 'финансовые вложения по балансовой стоимости', '110', @sum) select @sum1 = isnull((select sum(stock_sum) from tp_pif_srez_portfolio where srez_id = @id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio')), 0) insert into #report values(5, 'отклонение оценочной стоимости от балансовой стоимости', '111', (@sum1 - @sum)) insert into #report values(6, 'Итого (строки 110 + 111)', '112', @sum1) select @total = @total + @sum1 insert into #report values(7, null, null, null) insert into #report values(8, 'Недвижимость', null, null) insert into #report values(9, 'в том числе:', null, null) select @sum = isnull((select sum(saldo_deb) - sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.01.%'), 0) select @sum = @sum+isnull((select sum(saldo_deb) - sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.08.%'), 0) insert into #report values(9, 'недвижимость по балансовой стоимости', '120', @sum) select @sum1 = @sum insert into #report values(10, 'отклонение оценочной стоимости от балансовой стоимости', '121', (@sum1 - @sum)) insert into #report values(11, 'Итого (строки 120 + 121)', '122', @sum1) select @total = @total + @sum1 insert into #report values(12, null, null, null) select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'58.2') select @sum = isnull((select sum(saldo_deb) - sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id = @acc_id), 0) insert into #report values(13, 'Депозиты', '130', @sum) declare @deposit_sum money select @deposit_sum=@sum select @total = @total + @sum select @sum = isnull((select sum(saldo_deb) - sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.51.%'), 0) insert into #report values(14, 'Денежные средства:', '140', @sum) select @total = @total + @sum insert into #report values(15, 'Дебиторская задолженность', null, null) insert into #report values(16, 'в том числе:', null, null) select @sum = isnull((select sum(saldo_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_partners') and t_accounts.acc_num_eff_rep like '.76.5.%'), 0) insert into #report values(17, 'по ценным бумагам', '150', @sum) select @sum1 = isnull((select sum(saldo_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_partners') and (t_accounts.acc_num_eff_rep like '.76.9.%' or t_accounts.acc_num_eff_rep like '.76.10.%')), 0) insert into #report values(18, 'проценты и дивиденды (к получению)', '151', @sum1) select @sum1 = @sum1 + @sum select @sum = isnull((select sum(saldo_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_partners') and t_accounts.acc_num_eff_rep like '.76.%'), 0) insert into #report values(19, 'с прочими дебиторами', '152', @sum - @sum1) /*---------- убрано 01.09.04 - % по депозиту идет с 76.10, а не из оценки declare @bank_acc_id numeric declare @bal_sum money declare @total_ocen_sum decimal(18,2) declare @ocen_sum decimal(18,2) declare cur1 cursor for select t_deposit_rates.bank_acc_id from t_deposit_rates where t_deposit_rates.fund_id=@fond_id and exists(select 1 from t_items, t_states, t_types where t_items.id=t_deposit_rates.id and t_states.id=t_items.state_id and t_states.class_id=0 and t_types.id=t_items.type_id and upper(t_types.type_code)=upper('DEPOSIT_RATES')) open cur1 select @total_ocen_sum=0 fetch cur1 into @bank_acc_id while @@sqlstatus=0 begin exec ap_get_deposit_rate @acc_id=@bank_acc_id, @fund_id=@fond_id, @check_date=@srez_date, @bal_sum=@bal_sum, @ocen_sum=@ocen_sum out select @total_ocen_sum=@total_ocen_sum+isnull(@ocen_sum,0) fetch cur1 into @bank_acc_id end close cur1 deallocate cursor cur1 insert into #report values(19, 'с прочими дебиторами', '152', @total_ocen_sum - @deposit_sum) select @sum=@sum+@total_ocen_sum - @deposit_sum ---------------------*/ insert into #report values(20, 'Итого (строки 150 + 151 + 152)', '153', @sum) select @total = @total + @sum /* Начисленный купонный доход */ select @sum = isnull((select sum(coupon_sum) from tp_pif_srez_portfolio where srez_id = @id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio')), 0) insert into #report values(21, 'иные активы', '160', @sum) select @total = @total + @sum insert into #report values(22, 'ИТОГО АКТИВОВ', '170', @total) insert into #report values(29, null, null, null) insert into #report values(30, 'ПАССИВЫ:', null, null) insert into #report values(31, 'Кредиторская задолженность', null, null) insert into #report values(32, 'в том числе:', null, null) select @sum = isnull((select sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_partners') and t_accounts.acc_num_eff_rep like '.76.5.%'), 0) insert into #report values(33, 'по ценным бумагам', '180', @sum) select @sum1 = @sum select @sum = isnull((select sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_partners') and t_accounts.acc_num_eff_rep like '.76.13.'), 0) insert into #report values(34, 'по объектам недвижимости', '181', @sum) select @sum1 = @sum1 + @sum select @sum = isnull((select sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_partners') and t_accounts.acc_num_eff_rep like '.76.4.1.%'), 0) insert into #report values(35, 'по размещению паев', '182', @sum) select @sum1 = @sum1 + @sum select @sum = isnull((select sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_partners') and (t_accounts.acc_num_eff_rep like '.76.4.2.%')), 0) select @sum = @sum + isnull((select sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_partners') and (t_accounts.acc_num_eff_rep like '.76.4.3.%')), 0) insert into #report values(36, 'по выкупу паев', '183', @sum) select @sum1 = @sum1 + @sum select @sum = isnull((select sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_partners') and t_accounts.acc_num_eff_rep like '.76.%'), 0) /* Расчеты с бюджетом 68 счет */ select @sum = @sum + isnull((select sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.68.%'), 0) insert into #report values(37, 'с прочими ', '184', @sum - @sum1) select @total_pas = @total_pas + @sum insert into #report values(39, 'Итого: (строки 180 + 181 + 182 + 183 + 184)', '185', @sum) insert into #report values(40, null, null, null) select @acc1_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'89.1') select @acc2_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'89.2') select @acc3_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'89.3') select @sum = isnull((select sum(saldo_cred) - sum(saldo_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id in (@acc1_id,@acc2_id,@acc3_id)), 0) insert into #report values(41, 'Резервы предстоящих расходов и платежей ', '190', @sum) select @total_pas = @total_pas + @sum insert into #report values(42, 'ИТОГО ПАССИВОВ (строки 185 + 190)', '200', @total_pas) select @scha = @total - @total_pas insert into #report values(50, null, null, null) insert into #report values(51, 'ЧИСТЫЕ АКТИВЫ (строки 170 - 200)', '210', @scha) insert into #report values(52, 'КОЛИЧЕСТВО ПАЕВ', '220', @pay) if (@pay = 0) select @d_total2pay = 0 else select @d_total2pay = convert(double precision,@scha) / convert(double precision,@pay) .PIF_ROUND_MONEY(@fond_id,@d_total2pay,@d_total2pay) select @total2pay = convert(money,@d_total2pay) insert into #report values(53, 'СТОИМОСТЬ ЧИСТЫХ АКТИВОВ НА ОДИН ПАЙ', '230', @total2pay) insert into #report values(54, '(строка 210 / 220)', null, null) end /* Интервальный фонд */ /************************************************************************************/ else if @fund_type = 1 begin /* Обработка открытого фонда */ select @pay = (select stock_qty from tp_pif_srez where tp_pif_srez.id = @id) insert into #report values(1, 'АКТИВЫ:', null, null) insert into #report values(2, 'Финансовые вложения', null, null) insert into #report values(3, 'в том числе:', null, null) select @sum = isnull((select sum(saldo_deb) - sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.06.1.%'), 0) select @sum = @sum + isnull((select sum(saldo_deb) - sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.58.1.%'), 0) insert into #report values(4, 'финансовые вложения по балансовой стоимости', '110', @sum) select @sum1 = isnull((select sum(stock_sum) from tp_pif_srez_portfolio where srez_id = @id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio')), 0) insert into #report values(5, 'отклонение оценочной стоимости от балансовой стоимости', '111', (@sum1 - @sum)) insert into #report values(6, 'Итого (строки 110 + 111)', '112', @sum1) select @total = @total + @sum1 insert into #report values(7, null, null, null) select @acc_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'58.2') select @sum = isnull((select sum(saldo_deb) - sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id=@acc_id), 0) insert into #report values(13, 'Депозиты', '120', @sum) select @total = @total + @sum select @sum = isnull((select sum(saldo_deb) - sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.51.%'), 0) insert into #report values(14, 'Денежные средства:', '130', @sum) select @total = @total + @sum insert into #report values(15, 'Дебиторская задолженность', null, null) insert into #report values(16, 'в том числе:', null, null) select @sum = isnull((select sum(saldo_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_partners') and t_accounts.acc_num_eff_rep like '.76.5.%'), 0) insert into #report values(17, 'по ценным бумагам', '140', @sum) select @sum1 = isnull((select sum(saldo_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_partners') and (t_accounts.acc_num_eff_rep like '.76.9.%' or t_accounts.acc_num_eff_rep like '.76.10.%')), 0) insert into #report values(18, 'по процентам и дивидендам', '141', @sum1) select @sum1 = @sum1 + @sum select @sum = isnull((select sum(saldo_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_partners') and t_accounts.acc_num_eff_rep like '.76.%'), 0) insert into #report values(19, 'с прочими дебиторами', '142', @sum - @sum1) insert into #report values(20, 'Итого (строки 140 + 141 + 142)', '143', @sum) select @total = @total + @sum /* Начисленный купонный доход */ select @sum = isnull((select sum(coupon_sum) from tp_pif_srez_portfolio where srez_id = @id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio')), 0) insert into #report values(21, 'иные активы', '150', @sum) select @total = @total + @sum insert into #report values(22, 'ИТОГО АКТИВОВ', '160', @total) insert into #report values(29, null, null, null) insert into #report values(30, 'ПАССИВЫ:', null, null) insert into #report values(31, 'Кредиторская задолженность', null, null) insert into #report values(32, 'в том числе:', null, null) select @sum = isnull((select sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_partners') and t_accounts.acc_num_eff_rep like '.76.5.%'), 0) insert into #report values(33, 'по ценным бумагам', '170', @sum) select @sum1 = @sum select @sum = isnull((select sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_partners') and t_accounts.acc_num_eff_rep like '.76.4.1.%'), 0) insert into #report values(35, 'по размещению паев', '171', @sum) select @sum1 = @sum1 + @sum select @sum = isnull((select sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_partners') and (t_accounts.acc_num_eff_rep like '.76.4.2.%')), 0) select @sum = @sum + isnull((select sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_partners') and (t_accounts.acc_num_eff_rep like '.76.4.3.%')), 0) insert into #report values(36, 'по выкупу паев', '172', @sum) select @sum1 = @sum1 + @sum select @sum = isnull((select sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_partners') and t_accounts.acc_num_eff_rep like '.76.%'), 0) /* Расчеты с бюджетом 68 счет */ select @sum = @sum + isnull((select sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.68.%'), 0) insert into #report values(37, 'с прочими ', '173', @sum - @sum1) select @total_pas = @total_pas + @sum insert into #report values(39, 'Итого: (строки 170 + 171 + 172 + 173)', '174', @sum) insert into #report values(40, null, null, null) select @acc1_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'89.1') select @acc2_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'89.2') select @acc3_id = .SD_ACCID_FROM_EFFNO(@fund_plan_id,'89.3') select @sum = isnull((select sum(saldo_cred) - sum(saldo_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.id in (@acc1_id,@acc2_id,@acc3_id)), 0) insert into #report values(41, 'Резервы предстоящих расходов и платежей ', '180', @sum) select @total_pas = @total_pas + @sum insert into #report values(42, 'ИТОГО ПАССИВОВ (строки 174 + 180)', '190', @total_pas) select @scha = @total - @total_pas insert into #report values(50, null, null, null) insert into #report values(51, 'ЧИСТЫЕ АКТИВЫ (строки 160 - 190)', '200', @scha) insert into #report values(52, 'КОЛИЧЕСТВО ПАЕВ', '210', @pay) if (@pay = 0) select @d_total2pay = 0 else select @d_total2pay = convert(double precision,@scha) / convert(double precision,@pay) .PIF_ROUND_MONEY(@fond_id,@d_total2pay,@d_total2pay) select @total2pay = convert(money,@d_total2pay) insert into #report values(53, 'СТОИМОСТЬ ЧИСТЫХ АКТИВОВ НА ОДИН ПАЙ', '220', @total2pay) insert into #report values(54, '(строка 200 / 210)', null, null) end /* Открытый фонд */ select * from #report order by rorder End $ENDTEXT(14364584) $ENDFORM $FORM(PIF_SREZ_SCHA_REPORT) name=Отчет Справка о СЧА (старый) class=5 filter=null target_state= uo=uo_print dw=d_pif_fcs_scha_report_edit procedure=ap_60150000000010888 patterns=null user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364584) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .GET_PROPS declare @owner_id numeric declare @fond_name varchar(255) declare @regist_emis varchar(255) declare @control_name varchar(255) declare @control_lic varchar(255) declare @control_addres varchar(255) declare @fund_type numeric declare @type_string varchar(255) select @fond_name = partner_name, @control_lic = isnull(t_partners.regist_sertificate_no + ' ', '') + isnull(convert(varchar, t_partners.regist_sertificate_date, 104) + ' ', '') + isnull(t_partners.regist_organisation + ' ', '') from t_partners where t_partners.id = @fond_id select @fund_type = td_pay_fond.fond_type from td_pay_fond where td_pay_fond.id = @fond_id select @control_name = t_partners.partner_name, @control_lic = isnull(t_partners.regist_sertificate_no + ' ', '') + isnull(convert(varchar, t_partners.regist_sertificate_date, 104) + ' ', '') + isnull(t_partners.regist_organisation + ' ', ''), @control_addres = isnull(t_partners.real_code + ' ', '') + isnull(t_partners.partner_address + ' ', '') + + isnull(t_partners.partner_phone, ''), @fund_type = td_pay_fond.fond_type from t_partners, td_pay_fond where td_pay_fond.id = @fond_id and td_pay_fond.ctrl_comp_id = t_partners.id if @fund_type = 1 select @type_string = 'открытого' else select @type_string = 'интервального' select @sid, @srez_date, @fond_name, @regist_emis, @control_name, @control_lic, @control_addres, @type_string End $ENDTEXT(14364584) $ENDFORM $ACTION(#AP_PIF_RATE_CHECK) name=Определение оценочной стоимости по котировке для ПИФ class=9 form=null target_state=null procedure=ap_pif_rate_check patterns=null user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364584) create procedure dbo.%PROC% @stock_id numeric, @fund_id numeric, @place_id numeric, @check_date datetime, @check_type int, @stock_qty money, @rate_date datetime out, @is_rate int out, @stock_rate decimal(18,8) out, @coupon_rate decimal(18,8) out, @stock_sum money out, @coupon_sum money out as set datefirst 1 declare @class_value_code varchar(255), @class_comment varchar(255), @stock_rate_cur decimal(18,8), @acknowledged_price decimal(18,8), @coupon_rate_cur decimal(18,8), @stock_rate_rur decimal(36,12), @coupon_rate_rur decimal(36,12), @rur_cur_id numeric, @rate_cur_id numeric, @place_cur_id numeric, @convert_value decimal(18,8), @convert_date datetime declare @money_volume decimal(36,12), @money_volume_rur decimal(36,12), @money_volume_all decimal(36,12), @volume decimal(36,12), @volume_cur_id numeric, @stock_rate_cur_avg decimal(36,12) declare @d int, @trades_qty int, @trades_qty_all int, @rates_qty int, @stock_rate_rur_all decimal(36,12), @find_date datetime declare @rts_date datetime, @mmvb_date datetime, @place_date datetime, @places tinyint, @max_places tinyint, @stock_place_id numeric, @place_code varchar(50), @mmvb_code varchar(50), @not_mmvb_code varchar(50) -- площадка if @place_id is null begin -- площадка из классификатора для ЦБ exec ap_getclassvalue_code @stock_id, 'STOCK_RATE_PLACE', null, @fund_id, @class_value_code out, @class_comment out if @class_value_code is not null select @place_id = (select max(td_rate_places.id) from td_rate_places where upper(td_rate_places.place_code) = upper(@class_value_code) and .ITEMS_EXISTS(td_rate_places.id)) end if @place_id is null return select @rur_cur_id=.CUR('RUR'), @stock_place_id=@place_id, @place_cur_id=(select td_rate_places.cur_id from td_rate_places where id=@place_id), @place_code=(select td_rate_places.place_code from td_rate_places where id=@place_id), -- даты, до которых признаваемая котировка считалась в Аладдине @rts_date=convert(datetime,'27/01/04',3), @mmvb_date=convert(datetime,'11/05/04',3), @places=0, @max_places=2, --@mmvb_code='MICEX', -- для sdeponew @mmvb_code='MMVB', -- для sdepo -- код площадки, с которой берем, если не нашли на ММВБ --@not_mmvb_code='RTS_BUKS' -- для sdeponew @not_mmvb_code='PIF' -- для sdepo -- КОТИРОВКА while @places < @max_places begin select @stock_rate_cur=null, @is_rate=null, @rate_date=null, @rate_cur_id=null, @trades_qty=null, @acknowledged_price=null select @place_date=(case @place_code when @mmvb_code then @mmvb_date else @rts_date end) if @check_type=0 -- ближайшая котировка select @stock_rate_cur=tb_stock_rates.stock_rate, @is_rate=tb_stock_rates.rate_type, @rate_date=tb_stock_rates.rate_date, @rate_cur_id=tb_stock_rates.rate_cur_id from tb_stock_rates where tb_stock_rates.rate_place_id = @place_id and tb_stock_rates.stock_id = @stock_id and tb_stock_rates.rate_date = (select max(tb_stock_rates.rate_date) from tb_stock_rates where tb_stock_rates.rate_place_id = @place_id and tb_stock_rates.rate_date <= @check_date and tb_stock_rates.stock_rate<>0 and tb_stock_rates.stock_id = @stock_id and .ITEMS_EXISTS(tb_stock_rates.id)) and .ITEMS_EXISTS(tb_stock_rates.id) if @check_type=1 -- котировка на дату оценки select @stock_rate_cur = tb_stock_rates.stock_rate, @acknowledged_price = tb_stock_rates.acknowledged_price, @is_rate = tb_stock_rates.rate_type, @rate_date = tb_stock_rates.rate_date, @rate_cur_id = tb_stock_rates.rate_cur_id, @trades_qty = tb_stock_rates.trades_qty from tb_stock_rates where tb_stock_rates.rate_place_id = @place_id and tb_stock_rates.stock_id = @stock_id and tb_stock_rates.rate_date = @check_date and .ITEMS_EXISTS(tb_stock_rates.id) -- 42ps (сделок >= 10 или есть признаваемая котировка) или старый вариант if ((isnull(@trades_qty,0)>=10 or isnull(@acknowledged_price,0)<>0) and @check_type=1) or @check_type=0 begin -- Для Ольги возможно не надо проверять на нуль основную котировку при условии наличия признаваемой -- просто сразу брать признаваемую -- if isnull(@stock_rate_cur,0)=0 or isnull(@trades_qty,0)<10 select @stock_rate_cur=@acknowledged_price if isnull(@stock_rate_cur,0)<>0 begin select @rate_cur_id=isnull(@rate_cur_id,@place_cur_id) select @rate_cur_id=isnull(@rate_cur_id,@rur_cur_id) if @rur_cur_id=@rate_cur_id select @stock_rate_rur=@stock_rate_cur else begin .CONVERT_SUM_DEC(@rate_cur_id, @rur_cur_id, @check_date, 0, @stock_rate_cur, @stock_rate_rur, @convert_value, @convert_date) select @stock_rate_rur = round(@stock_rate_rur,2) end if .GET_CLASS_VALUE_CODE_FOR_ITEM(@fund_id,'TYPE_ROUND_RATES_IN_CALC','BEFORE')='BEFORE' begin .PIF_ROUND_RATE(@fund_id, @stock_rate_rur, @stock_rate_rur) end select @stock_sum=convert(money,round((convert(decimal(36,12),@stock_qty) * @stock_rate_rur),2)) .PIF_ROUND_RATE(@fund_id, @stock_rate_rur, @stock_rate_rur) if isnull(@is_rate,0) not in (0,1) select @is_rate=1 select @stock_rate=convert(decimal(18,8),@stock_rate_rur) end else select @stock_rate=null end -- 42ps - (сделок < 10) - расчет по оборотам за 10 дней, если котировка не найдена select @find_date=dateadd(dd,1,@check_date) if isnull(@trades_qty,0)<10 and @check_type=1 and @stock_rate is null and ((@check_date < @place_date -- дата меньше чем начало расчета признаваемой котировки на площадке and @place_date is not null) or @place_date is null) begin select @d=0, @trades_qty_all=0, @volume=0, @money_volume=0, @money_volume_rur=0, @money_volume_all=0 -- по дням while @d<10 begin -- дни select @find_date=dateadd(dd,-1,@find_date) if not exists(select 1 from tb_stock_rates where tb_stock_rates.rate_place_id = @place_id and tb_stock_rates.stock_id = @stock_id and tb_stock_rates.rate_date <= @find_date and .ITEMS_EXISTS(tb_stock_rates.id)) break if (datepart(dw,@find_date) not in (6,7)) and not exists(select 1 from tp_pif_calendar where dmy=@find_date and isnull(include,0)<>1) and ((@find_date<>convert(datetime,'31/12/03',3) and (upper(@class_value_code) like '%'+@mmvb_code+'%')) or not(upper(@class_value_code) like '%'+@mmvb_code+'%')) begin -- рабочие дни select @d=@d+1 select @money_volume=isnull(tb_stock_rates.money_volume,0), @volume=@volume+isnull(tb_stock_rates.volume,0), @volume_cur_id=(case when @volume_cur_id is null then tb_stock_rates.volume_cur_id else @volume_cur_id end), @trades_qty_all=@trades_qty_all+isnull(tb_stock_rates.trades_qty,0) from tb_stock_rates where tb_stock_rates.rate_place_id = @place_id and tb_stock_rates.stock_id = @stock_id and tb_stock_rates.rate_date = @find_date and .ITEMS_EXISTS(tb_stock_rates.id) select @volume_cur_id=isnull(@volume_cur_id,@place_cur_id) select @volume_cur_id=isnull(@volume_cur_id,@rur_cur_id) if @rur_cur_id=@volume_cur_id select @money_volume_rur=@money_volume else begin -- в RUR переводится оборот за каждый день .CONVERT_SUM_DEC(@volume_cur_id, @rur_cur_id, @find_date, 0, @money_volume, @money_volume_rur, @convert_value, @convert_date) end select @money_volume_all=@money_volume_all+isnull(@money_volume_rur,0) end end -- end по дням -- суммарное кол-во сделок > 10 if @trades_qty_all>=10 begin if @volume=0 select @stock_rate_cur_avg=0 else select @stock_rate_cur_avg=convert(decimal(36,12),@money_volume_all/@volume) select @stock_rate_cur_avg = round(@stock_rate_cur_avg,2) select @stock_sum=convert(money,round((convert(decimal(36,12),@stock_qty) * @stock_rate_cur_avg),2)) .PIF_ROUND_RATE(@fund_id, @stock_rate_cur_avg, @stock_rate_cur_avg) select @stock_rate=convert(decimal(18,8),@stock_rate_cur_avg), @rate_date=@check_date, @is_rate=1 end else select @stock_rate=null end -- след.площадка if @stock_rate is null begin select @place_id = (select max(td_rate_places.id) from td_rate_places where upper(td_rate_places.place_code) = (case @place_code when @mmvb_code then @not_mmvb_code else @mmvb_code end) and .ITEMS_EXISTS(td_rate_places.id)) select @place_cur_id=(select td_rate_places.cur_id from td_rate_places where id=@stock_place_id) if @place_id is null select @places=@max_places else select @places=@places+1 end else select @places=@max_places, @stock_place_id=@place_id end -- НКД select @rate_cur_id=null select @coupon_rate_cur=tb_stock_rates.coupon_rate, @rate_cur_id=tb_stock_rates.rate_cur_id from tb_stock_rates where tb_stock_rates.rate_place_id = @stock_place_id -- id 1-й площадки или той, на которпой нашли котировку and tb_stock_rates.stock_id = @stock_id and tb_stock_rates.rate_date = @check_date and .ITEMS_EXISTS(tb_stock_rates.id) if @coupon_rate_cur is not null begin select @place_cur_id=(select td_rate_places.cur_id from td_rate_places where id=@stock_place_id) select @rate_cur_id=isnull(@rate_cur_id,@place_cur_id) select @rate_cur_id=isnull(@rate_cur_id,@rur_cur_id) if @rur_cur_id=@rate_cur_id select @coupon_rate_rur=@coupon_rate_cur else begin .CONVERT_SUM_DEC(@rate_cur_id, @rur_cur_id, @check_date, 0, @coupon_rate_cur, @coupon_rate_rur, @convert_value, @convert_date) end if .GET_CLASS_VALUE_CODE_FOR_ITEM(@fund_id,'TYPE_ROUND_RATES_IN_CALC','BEFORE')='BEFORE' begin .PIF_ROUND_RATE(@fund_id, @coupon_rate_rur, @coupon_rate_rur) end select @coupon_sum=convert(money,round((convert(decimal(36,12),@stock_qty) * @coupon_rate_rur),2)) .PIF_ROUND_RATE(@fund_id, @coupon_rate_rur, @coupon_rate_rur) select @coupon_rate=convert(decimal(18,8),@coupon_rate_rur) end select @coupon_sum=isnull(@coupon_sum,0) if @stock_rate is null select @stock_sum=null, @is_rate=0, @rate_date=null $ENDTEXT(14364584) $ENDACTION $ACTION(ACTION1) name=Изменить class=2 form=D_PIF_SREZ_EDIT target_state=null procedure=ap_60045000000001263 patterns=GENERIC_UPDATE user_define=0 isvisible=0 istab=1 posx=0 posy=0 width=2537 height=1516 proc_text=$TEXT(14364584) create procedure dbo.%PROC% @sid varchar(30) = null, .ARGLIST as declare @action_id numeric, @id numeric, @user_id numeric, @state_id numeric, @type_id numeric, @item_name varchar(100), @new_state_id numeric begin tran select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER .CHECK_UPDATE .ARGCONVERT .TEST_UNIQUE .UPDATE_ITEMS .UPDATE .RELGEN .UPDATE_STATE .ACTION_HISTORY commit tran $ENDTEXT(14364584) $ENDACTION $ACTION(AP_PIF_CALC_STOCK_PRICE) name=# Определение оценочной стоимости ЦБ class=9 form=null target_state=null procedure=ap_pif_calc_stock_price patterns=null user_define=1 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364584) -- -- Расчет оценочной стоимости ЦБ -- -- Оценочная стоимостью ЦБ признается равным (кол-во ЦБ * котировка). -- Если котировка до первой покупки не найдена, то оценочной стоимостью считается сальдо по 58.1 счету по этой ЦБ -- на 58.1 счету, хранятся покупки ЦБ, без учета комиссий и переоценки /* -- старый вариант -- Поиск котировки возможен тремя способами: -- 1. Если в срезе не задана площадка и у фонда значение классификатора "Выбор площадки при определении котировки" -- равно "MAX" то ищется максимальная котировка по всем площадкам -- 2. Если в срезе не задана площадка, у фонда значение классификатора "Выбор площадки при определении котировки" -- равно "ONE" то котировка ищется на площадке указанной в расширенном классификаторе ЦБ "STOCK_RATE_PLACE" -- 3. Если в срезе задана площадка и у фонда значение классификатора "Выбор площадки при определении котировки" -- равно "TWO", то котировка ищется на площадках с кодами "MMVB", "RTS" в случае отсутствия котировки на первой площадке -- поиск идет по второй площадке. Первой площадкой является та, что выбрана в срезе. -- Если значение классификатора "Выбор площадки при определении котировки" не указано, то считается что фонду присвоено -- значение "TWO" - значение по умолчанию. */ /* новый вариант -- alex Поиск котировки: Если в срезе указана площадка, то котировки определяем по ней, в противном случае: Необходим классификатор PLACES_IN_RATE_CHECK "Выбор площадки при определении котировки" Для фонда указываем одно из его значений, которое будет определять алгоритм поиска площадки: MAX - Площадка с максимальной котировкой (из площадок, указанных в последовательности для фонда) MAX_IN_ALL - Площадка с максимальной котировкой ONE - Площадка, указанная в расширенном классификаторе ЦБ (этот способ - по умолчанию) DEFAULT - По определенной в фонде последовательности площадок SPEC - Площадка, указанная в расширенном классификаторе ЦБ, но если на ней нет котировки - то по определенной в фонде последовательности площадок Последовательность перебора площадок задается для фонда в расш.классификаторе PLACES_ORDER "Порядок перебора площадок для поиска котировки" для значения DEFAULT "Стандартный" в виде строки комментария: код_площ1,код_площ2,код_площ3,... и зависит от даты, т.е. со временем может меняться */ -- Поиск котировок ведется за период с первой покупки ЦБ в фонде до даты построения среза. create procedure dbo.%PROC% @stock_id numeric(18,0), -- Ценная бумага @fund_id numeric(18,0), -- Фонд @place_id numeric(18,0), -- Площадка котировок из среза @check_date datetime, -- Дата определения стоимости ЦБ @stock_qty money, -- Кол-во ЦБ @rate_date datetime out, -- Фактическая дата котировки @is_rate int out, -- Тип котировки (0 - прочая, 1 - признаваемая) @stock_rate decimal(18,8) out, -- Котировка ЦБ @coupon_rate decimal(18,8) out, -- Купон ЦБ @stock_sum money out, -- Оценочная стоимость ЦБ @coupon_sum money out -- Оценочная стоимость купона as declare @first_date_rate datetime, -- Дата первой покупки ЦБ @subconto_stock_id numeric(18,0), -- Тип субконто "STOCK_EMIS" @acc581_id numeric(18,0), -- Счет 58.1 @plan_id numeric(18,0), -- План счетов "PIF_ACCOUNT" @plan2partner_id numeric(18,0), -- Владелец плана счетов @rate_cur_id numeric(18,0), -- Валюта котировки @stock_rate_cur decimal(18,8), -- Котировка ЦБ @coupon_rate_cur decimal(18,8), -- Купон ЦБ @subconto_str varchar(255), -- Эффективная строка субконто (для SALDO) @saldo_sum decimal(18,8), -- Остаток ЦБ (сумма по балансу) @saldo_qty decimal(18,4), -- Остаток ЦБ (кол-во) @rur_cur_id numeric(18,0), -- Валюта "Российский рубль" @place_cur_id numeric(18,0), -- Валюта площадки котировок @convert_value decimal(18,8), -- Курс целевой валюты к исходной (для CONVERT_SUM_DEC) @convert_date datetime, -- Дата курса (для CONVERT_SUM_DEC) @stock_rate_rur decimal(36,12), -- Котировка ЦБ в рублях (используется при конвертации котировки в Рубли) @coupon_rate_rur decimal(36,12), -- Котировка купона в рублях (используется при конвертации котировки в Рубли) @stock_type_id numeric(18,0), -- Тип ЦБ /* alex @place_b_id numeric(18,0), -- Площадка котировок для поиска (начало) @place_e_id numeric(18,0), -- Площадка котировок для поиска (конец) */ @class_value_code varchar(255), -- Код площадки из расширенного классификатора в ЦБ @class_comment varchar(255), -- Кол-во знаков округления из клмментария в расширенном классификаторе ЦБ @steps int, -- Кол-во обрабатываемых площадок @place_in_rate_check varchar(10), -- Способ поиска котировки @first_place_id numeric(18,0), -- 1-ая, переданная в процедуру площадка котировок @oper_date datetime, -- Дата, для цикла поиска котировок @new_place_id numeric(18,0), -- Площадка котировок, используется как временная переменная в цикле @sd_scha_2005_d datetime -- -- alex , @class_place_id numeric(18,0) -- Площадка котировок из классификатора для ЦБ , @cur_place_id numeric(18,0) -- , @max_rate_id numeric(18,0) -- ID максимальной котировки -- /alex select @subconto_stock_id=.SUBCTYPE_FROM_CODE('STOCK_EMIS') select @plan_id=.PLAN('PIF_ACCOUNT') select @acc581_id=.SD_ACCID_FROM_EFFNO(@plan_id,'58.1') select @steps=1 select @oper_date=@check_date select @rur_cur_id=.CUR('RUR') /* select @stock_type_id=t_stock_types.stock_type_id from td_stock_emis, t_stock_types where td_stock_emis.id = @stock_id and td_stock_emis.stock_type_id = t_stock_types.id */ select @stock_type_id=td_stock_emis.stock_type_id from td_stock_emis where td_stock_emis.id = @stock_id -- Владелец плана счетов select @plan2partner_id=t_plans2partner.id from t_plans2partner, t_items, t_states where t_plans2partner.plan_id = @plan_id and t_plans2partner.partner_id = @fund_id and t_plans2partner.id = t_items.id and t_items.state_id = t_states.id and t_states.class_id = 0 -- Первая покупка ЦБ в фонде select @first_date_rate=min(t_oper_list.op_date) from t_oper_list, t_oper_subconto where t_oper_subconto.subconto_type_id = @subconto_stock_id and t_oper_subconto.item_id = @stock_id and t_oper_subconto.id = t_oper_list.id and t_oper_list.deb_or_cred = 1 and t_oper_list.acc_id = @acc581_id and t_oper_list.partner2plan_id = @plan2partner_id and t_oper_list.op_date < dateadd(dd,1,@check_date) -- Нормализация даты (срезаем время) select @first_date_rate=.DATE_NORM(@first_date_rate,B) select @sd_scha_2005_d=convert(datetime,(.GET_CONST('SD_SCHA_2005')),3) if @first_date_rate < @sd_scha_2005_d select @first_date_rate=@sd_scha_2005_d select @place_in_rate_check = .GET_CLASS_VALUE_CODE_FOR_ITEM(@fund_id,'PLACES_IN_RATE_CHECK','ONE') if @place_in_rate_check is null select @place_in_rate_check = 'ONE' -- алгоритм по умолчанию select @place_in_rate_check = upper(@place_in_rate_check) -- alex select @first_place_id = @place_id, @place_in_rate_check --------------------------------------- -- площадка из классификатора для ЦБ -------------------------------------- -- alex /* if @place_id is null and @place_in_rate_check <> 'MAX' begin exec ap_getclassvalue_code @stock_id, 'STOCK_RATE_PLACE', null, @fund_id, @class_value_code out, @class_comment out select @class_place_id=(select max(td_rate_places.id) from td_rate_places where upper(td_rate_places.place_code) = upper(@class_value_code) and .ITEMS_EXISTS(td_rate_places.id)) end */ if @place_id is null -- если в срезе не указана площадка - берем ее из ЦБ begin exec ap_getclassvalue_code @stock_id, 'STOCK_RATE_PLACE', null, @fund_id, @class_value_code out, @class_comment out select @class_place_id=(select max(td_rate_places.id) from td_rate_places where upper(td_rate_places.place_code) = upper(@class_value_code) and .ITEMS_EXISTS(td_rate_places.id)) end else -- если площадка указана в срезе - считаем по ней select @class_place_id = @place_id, @place_in_rate_check = 'ONE' select @first_place_id = @class_place_id -- исходная площадка ------------------------- -- Площадки для перебора ------------------------- .TRANSACTION_SAVE create table #places_order ( ord smallint not null, place_id numeric(18,0) not null) select @class_value_code = null, @class_comment = null exec ap_getclassvalue_code @fund_id, 'PLACES_ORDER', @oper_date, null, @class_value_code out, @class_comment out if @class_value_code = 'DEFAULT' -- стандартная последовательность begin declare @s varchar(255), @ss varchar(255), @pos smallint, @sep varchar(1), @ord smallint select @ord = 1 -- если первой в цепочке д.быть площадка, указанная в ЦБ if @place_in_rate_check = 'SPEC' and @class_place_id is not null begin insert #places_order values (@ord,@class_place_id) select @ord = @ord + 1 end select @s = @class_comment, @sep = ',' select @pos = charindex(@sep,@s) while @pos > 0 begin select @ss = isnull(substring(@s,1,@pos-1),'') select @s = substring(@s,@pos+1,char_length(@s)-@pos) select @pos = charindex(@sep,@s) select @cur_place_id=(select max(td_rate_places.id) from td_rate_places where upper(td_rate_places.place_code) = upper(@ss) and .ITEMS_EXISTS(td_rate_places.id)) if @cur_place_id is not null begin insert #places_order values (@ord,@cur_place_id) select @ord = @ord+1 end end select @ss = @s select @cur_place_id=(select max(td_rate_places.id) from td_rate_places where upper(td_rate_places.place_code) = upper(@ss) and .ITEMS_EXISTS(td_rate_places.id)) if @cur_place_id is not null insert #places_order values (@ord,@cur_place_id) end -- /alex /* -- alex if @place_id is null begin select @place_b_id=-999999999999999998 select @place_e_id=999999999999999999 end else begin select @place_b_id=@place_id select @place_e_id=@place_id end */ ------------------ -- Котировка ЦБ ------------------ -- Максимальная if @place_in_rate_check in ('MAX','MAX_IN_ALL') begin while @oper_date >= @first_date_rate begin -- alex if isnull(@stock_rate_cur,0) = 0 begin select @max_rate_id = (select max(r.id) from tb_stock_rates r where (r.rate_place_id in (select place_id from #places_order) or @place_in_rate_check = 'MAX_IN_ALL') and r.stock_id = @stock_id and r.rate_date = @oper_date and .ITEMS_EXISTS(r.id) and r.acknowledged_price is not null and r.acknowledged_price = (select max(rm.acknowledged_price) from tb_stock_rates rm where (rm.rate_place_id in (select place_id from #places_order) or @place_in_rate_check = 'MAX_IN_ALL') and rm.stock_id = @stock_id and rm.rate_date = @oper_date and .ITEMS_EXISTS(rm.id))) select @stock_rate_cur = acknowledged_price , @is_rate = rate_type , @rate_date = rate_date , @rate_cur_id = rate_cur_id , @place_id = rate_place_id from tb_stock_rates where id = @max_rate_id /* select @stock_rate_cur=max(tb_stock_rates.acknowledged_price), @is_rate=max(tb_stock_rates.rate_type), @rate_date=max(tb_stock_rates.rate_date), @rate_cur_id=max(tb_stock_rates.rate_cur_id), @place_id=max(tb_stock_rates.rate_place_id) from tb_stock_rates, td_rate_places where tb_stock_rates.rate_place_id between @place_b_id and @place_e_id and tb_stock_rates.stock_id = @stock_id and tb_stock_rates.rate_date = @oper_date and .ITEMS_EXISTS(tb_stock_rates.id) and td_rate_places.id = tb_stock_rates.rate_place_id and upper(td_rate_places.place_code) in ('RTS','MMVB') */ end -- /alex select @oper_date=dateadd(dd,-1,@oper_date) end end -- одна площадка (из среза или из ЦБ) if @place_in_rate_check = 'ONE' begin select @oper_date=.DATE_NORM(@oper_date,B) while @oper_date >= @first_date_rate begin if isnull(@stock_rate_cur,0) = 0 select @stock_rate_cur=tb_stock_rates.acknowledged_price, @is_rate=tb_stock_rates.rate_type, @rate_date=tb_stock_rates.rate_date, @rate_cur_id=tb_stock_rates.rate_cur_id, @place_id=tb_stock_rates.rate_place_id from tb_stock_rates where tb_stock_rates.rate_place_id = @class_place_id -- alex and tb_stock_rates.stock_id = @stock_id and tb_stock_rates.rate_date = @oper_date and .ITEMS_EXISTS(tb_stock_rates.id) select @oper_date=dateadd(dd,-1,@oper_date) select @oper_date=.DATE_NORM(@oper_date,B) end end -- перебор площадок if @place_in_rate_check in ('DEFAULT','SPEC') and exists(select 1 from #places_order) begin select @oper_date=.DATE_NORM(@oper_date,B) while @oper_date >= @first_date_rate begin select @steps=1 -- alex /* while @steps <= 2 begin */ declare @break smallint select @cur_place_id = (select place_id from #places_order where ord = @steps) , @break = 0 while @cur_place_id is not null and @break = 0 begin --- /alex if isnull(@stock_rate_cur,0) = 0 begin select @stock_rate_cur=tb_stock_rates.acknowledged_price, @is_rate=tb_stock_rates.rate_type, @rate_date=tb_stock_rates.rate_date, @rate_cur_id=tb_stock_rates.rate_cur_id, @place_id=tb_stock_rates.rate_place_id from tb_stock_rates where tb_stock_rates.rate_place_id = @cur_place_id and tb_stock_rates.stock_id = @stock_id and tb_stock_rates.rate_date = @oper_date and .ITEMS_EXISTS(tb_stock_rates.id) end -- alex /* if isnull(@stock_rate_cur,0) = 0 begin select @new_place_id=td_rate_places.id from td_rate_places where upper(td_rate_places.place_code) in ('RTS','MMVB','PIF') and .ITEMS_EXISTS_BY_TYPE(td_rate_places.id,'RATE_PLACES') and td_rate_places.id <> @place_id select @place_id=@new_place_id end */ if isnull(@stock_rate_cur,0) = 0 begin select @steps=@steps+1 select @cur_place_id = (select place_id from #places_order where ord = @steps) end else select @break = 1 end -- по площадкам -- /alex select @oper_date=dateadd(dd,-1,@oper_date) select @oper_date=.DATE_NORM(@oper_date,B) end -- по датам end select @place_cur_id=(select td_rate_places.cur_id from td_rate_places where id=@place_id) -- Оценочная стоимость по остатку if @stock_rate_cur is null begin select @subconto_str=null .SUBC_STR_ADD(@subconto_str, 'STOCK_EMIS', @stock_id) -- Дебетовое сальдо по 58.1 счету и заданной ЦБ .SALDO(@fund_id, 'PIF_ACCOUNT', @check_date, '58.1', @subconto_str, N, 'D', @saldo_sum, @saldo_qty) -- Нормализация сумм для предотвращения деления на ноль if isnull(@saldo_sum,0) = 0 select @saldo_sum=0 if isnull(@saldo_qty,0) = 0 select @saldo_qty=1 select @stock_rate_cur=convert(decimal(18,8),(convert(double precision, @saldo_sum) / convert(double precision, @saldo_qty))) -- select @rate_date=@check_date select @rate_date=null select @is_rate=0 -- alex select @rate_cur_id=@rur_cur_id -- /alex end -- Если котировка найдена, то купон ищем на той же площадке, иначе ищем на первой площадке --if @stock_rate_cur is null -- select @place_id=@first_place_id -- Поиск НКД select @coupon_rate_cur=tb_stock_rates.coupon_rate, @place_cur_id=tb_stock_rates.rate_cur_id from tb_stock_rates where tb_stock_rates.rate_place_id = @place_id and tb_stock_rates.stock_id = @stock_id and tb_stock_rates.rate_date = @check_date and .ITEMS_EXISTS(tb_stock_rates.id) -- Округление котировки if isnull(@stock_rate_cur,0) <> 0 begin select @rate_cur_id=isnull(@rate_cur_id,@place_cur_id) select @rate_cur_id=isnull(@rate_cur_id,@rur_cur_id) -- Конвертация котировки в Российский рубль if @rur_cur_id = @rate_cur_id select @stock_rate_rur=@stock_rate_cur else begin .CONVERT_SUM_DEC(@rate_cur_id, @rur_cur_id, @check_date, 0, @stock_rate_cur, @stock_rate_rur, @convert_value, @convert_date) end -- Округление котировки (только при установленном классификаторе "TYPE_ROUND_RATES_IN_CALC") -- в противном случае, округлять следует после вычсилений с использованием данной котировки if .GET_CLASS_VALUE_CODE_FOR_ITEM(@fund_id,'TYPE_ROUND_RATES_IN_CALC','BEFORE') = 'BEFORE' begin .PIF_ROUND_RATE(@fund_id, @stock_rate_rur, @stock_rate_rur) end -- Оценочная сумма (кол-во * котировку) if isnull(@subconto_str,'') = '' select @stock_sum=convert(money,round((convert(decimal(36,12),@stock_qty) * @stock_rate_rur),2)) else select @stock_sum=convert(money,@saldo_sum,2) -- Округление котировки до кол-ва знаков указанных в фонде .PIF_ROUND_RATE(@fund_id, @stock_rate_rur, @stock_rate_rur) -- Определение типа котировки if isnull(@is_rate,0) not in (0,1) select @is_rate=0 -- Передача значения в out-переменную select @stock_rate=convert(decimal(18,8),@stock_rate_rur) end else select @stock_rate=0 -- -- Расчет купона, если котировка купона не найдена (@stock_type_id = 2 <- базовый тип ЦБ "Облигация") --if isnull(@coupon_rate_cur,0) = 0 and @stock_type_id = 2 -- Расчет купона, если котировка купона не найдена (@stock_type_id = 7 <- базовый тип ЦБ "Облигация") if isnull(@coupon_rate_cur,0) = 0 and @stock_type_id = 7 begin .PIF_CALC_COUPON(@stock_id, @check_date, @coupon_rate_cur, @rate_cur_id) end -- Округление купона if @coupon_rate_cur is not null begin select @rate_cur_id=isnull(@rate_cur_id,@place_cur_id) select @rate_cur_id=isnull(@rate_cur_id,@rur_cur_id) -- Конвертация купона в Российский рубль if @rur_cur_id = @rate_cur_id select @coupon_rate_rur=@coupon_rate_cur else begin .CONVERT_SUM_DEC(@rate_cur_id, @rur_cur_id, @check_date, 0, @coupon_rate_cur, @coupon_rate_rur, @convert_value, @convert_date) end -- Округление купона (только при установленном классификаторе "TYPE_ROUND_RATES_IN_CALC") -- в противном случае, округлять следует после вычсилений с использованием данного купона if .GET_CLASS_VALUE_CODE_FOR_ITEM(@fund_id,'TYPE_ROUND_RATES_IN_CALC','BEFORE') = 'BEFORE' begin .PIF_ROUND_RATE(@fund_id, @coupon_rate_rur, @coupon_rate_rur) end -- Оценочная сумма (кол-во * купон) select @coupon_sum=isnull(convert(money,round((convert(decimal(36,12),@stock_qty) * @coupon_rate_rur),2)),0) -- Округление купона до кол-ва знаков указанных в фонде .PIF_ROUND_RATE(@fund_id, @coupon_rate_rur, @coupon_rate_rur) -- Передача значения в out-переменную select @coupon_rate=convert(decimal(18,8),@coupon_rate_rur) end if @check_date <> @rate_date select @is_rate=0 -- alex drop table #places_order .TRANSACTION_RESTORE -- /alex $ENDTEXT(14364584) $ENDACTION $ACTION(AP_PIF_CORRECT_COMIS) name=# Корректировка остатков по комиссиям class=9 form=null target_state=null procedure=ap_60365000002786613 patterns=null user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364584) create procedure dbo.%PROC% @date_sb varchar(30) = '01/01/80', -- Дата начала отбора партий @date_se varchar(30) = '01/01/06', -- Дата окончания отбора партий @operday_ds varchar(30) = null, -- Проведения корректировки @fund_id_s varchar(30) = null -- Фонд as set nocount on declare @date_b datetime -- Дата начала отбора партий declare @date_e datetime -- Дата окончания отбора партий declare @operday datetime -- Дата проведения коррекции declare @fund_id numeric(18,0) -- Фонд declare @fund_b_id numeric(18,0) -- Фонд (начало диапазона для выборки) declare @fund_e_id numeric(18,0) -- Фонд (конец диапазона для выборки) declare @plan_id numeric(18,0) -- План счетов (PIF_ACCOUNT, NPF_ACCOUNT) declare @fund_type_code varchar(10) -- Тип фонда (PIF_FUND, NPF_FUND) declare @subc_stock_type_id numeric(18,0) -- Тип субконто STOCK_EMIS (ЦБ) declare @subc_stock_item_id numeric(18,0) -- Значение субконто STOCK_EMIS (ЦБ) declare @subc_doc_type_id numeric(18,0) -- Тип субконто DOC_ITEM (Партия) declare @subc_doc_item_id numeric(18,0) -- Значение субконто DOC_ITEM (Партия) declare @subc_assman_type_id numeric(18,0) -- Тип субконто ASSET_MANAGER (Управляющий) (только для NPF) declare @subc_assman_item_id numeric(18,0) -- Значение субконто ASSET_MANAGER (Управляющий) (только для NPF) declare @acc581_id numeric(18,0) -- Счет 58.1 (ЦБ) declare @acc5810_id numeric(18,0) -- Счет 58.10 (Комиссии) declare @subc_str varchar(255) -- Строка субконто declare @out_method_id int -- Метод поиска партий (1 - ФИФО, 2 - ЛИФО, 3 - Выбранная партия) declare @out_sum_method_id int -- Метод учета (1 - средневзвешенная, 2 - по партиям) declare @mode int -- Метод отбора партий (1,2) declare @doc_type_code varchar(50) -- Код документа-партии (D_STOCK_IN_OTHER_DEPO_SD, SD_BROK_BUY) declare @comm_all money -- Все комиссии declare @comm_cur money -- Остаток комиссии declare @price double precision -- Комиссия на 1 ЦБ declare @stock_qty money -- Кол-во ЦБ в сделке declare @stock_qty_cur money -- Кол-во ЦБ в партии declare @doc_name varchar(255) -- Комментарий в проводке declare @partner2plan_id numeric(18,0) -- Владелец плана счетов declare @saldo_sum money -- Остаток на счете суммовой (не используется) declare @partion_id numeric(18,0) -- Общая партия (COMMON_ASSET_INPUT) declare @jour_id numeric(18,0) -- Журнал ручных проводок declare @jour_no varchar(100) -- Номер журнала проводок declare @doc_comment varchar(255) -- Коментарий к журналу проводок declare @debet_subc_name varchar(255) -- Строка субконто для журнала проводок (дебет) declare @credit_subc_name varchar(255) -- Строка субконто для журнала проводок (кредит) declare @op_list_id numeric(18,0) -- Перечень журнала проводок declare @sub_list_id numeric(18,0) -- Перечень аналитики журнала проводок -- Таблица для сбора остатков create table #query_ops ( mode int null, id numeric(18,0) null, day datetime null, sum_bal money null, sum_qty money null, deb_or_cred int null, part_id numeric(18,0) null ) -- Таблица для отбора партий create table #query_grp ( saldo_bal money null, saldo_qty money null, part_id numeric(18,0) null ) if isnull(@operday_ds,'') = '' select @operday=.OPERDAY else select @operday=convert(datetime,@operday_ds,3) select @date_b=convert(datetime,@date_sb,3) select @date_e=convert(datetime,@date_se,3) select @fund_id=convert(numeric(18,0),@fund_id_s) -- Общая партия select @partion_id=(select td_depo_docs.id from td_depo_docs where in_no='COMMON_ASSET_INPUT' and .ITEMS_EXISTS_BY_TYPE(td_depo_docs.id,'letter_in')) -- Получение типов аналитики select @subc_stock_type_id=.SUBCTYPE_FROM_CODE('STOCK_EMIS') select @subc_doc_type_id=.SUBCTYPE_FROM_CODE('DOC_ITEM') select @subc_assman_type_id=.SUBCTYPE_FROM_CODE('ASSET_MANAGER') if @fund_id is null begin select @fund_b_id=-999999999999999998 select @fund_e_id=999999999999999999 end else begin select @fund_b_id=@fund_id select @fund_e_id=@fund_id end -- Отбор фондов для коррекции комиссий declare fund_cur cursor for select td_pay_fond.id, td_pay_fond.out_method_id, td_pay_fond.out_sum_method_id, t_types.type_code from td_pay_fond, t_items, t_types, t_states where td_pay_fond.id = t_items.id and t_items.type_id = t_types.id and upper(t_types.type_code) in ('PIF_FUND','NPF_FUND') and t_items.state_id = t_states.id and t_states.class_id = 0 and td_pay_fond.id between @fund_b_id and @fund_e_id open fund_cur fetch fund_cur into @fund_id, @out_method_id, @out_sum_method_id, @fund_type_code while .CURSOR_STATE = 0 begin if @fund_type_code = 'PIF_FUND' begin select @plan_id=.PLAN('PIF_ACCOUNT') end else if @fund_type_code = 'NPF_FUND' begin select @plan_id=.PLAN('NPF_ACCOUNT') end select @acc581_id=.SD_ACCID_FROM_EFFNO(@plan_id,'58.1') select @acc5810_id=.SD_ACCID_FROM_EFFNO(@plan_id,'58.10') -- Ищем журнал ручных проводок select @jour_id=isnull((select j.id from t_man_jours j, t_items i, t_types t, t_states s where j.doc_date = @operday and j.owner_id = @fund_id and j.id = i.id and i.type_id = t.id and upper(t.type_code) = 'MANOPER' and lower(j.doc_comment) like ('%расходов%') and i.state_id = s.id and upper(s.state_code) = 'ED' and s.class_id = 0),-1) -- Если журнал не найден, то создаем новый if isnull(@jour_id,-1) = -1 begin select @doc_comment='#Коррекция: Перевод расходов на приобретение ЦБ по фонду - ' select @doc_comment=@doc_comment+isnull((select partner_name from t_partners where id = @fund_id),'Не задано наименование фонда') .TYPE_INIT('MANOPER',1) .TYPE_ASSIGN(doc_date,@operday,1) .TYPE_ASSIGN(owner_id,@fund_id,1) .TYPE_ASSIGN(doc_comment,@doc_comment,1) .TYPE_INSERT('MANOPER','ED',1) select @jour_id=.TYPE_FIELD(id,1) end else begin -- Очищаем содержимое существующего журнала delete t_items where id in (select id from t_manual_opers where jour_id = @jour_id) delete t_man_op_subc where head_id in (select id from t_manual_opers where jour_id = @jour_id) delete t_manual_opers where jour_id = @jour_id end -- Отбор всех ЦБ declare stock_cur cursor for select td_stock_emis.id from td_stock_emis where .ITEMS_EXISTS_BY_TYPE(td_stock_emis.id,'TD_STOCK_EMIS') open stock_cur fetch stock_cur into @subc_stock_item_id while .CURSOR_STATE = 0 begin select @subc_str='' -- Формируем строку субконто для отбора партий по выбранной в курсоре ЦБ .SUBC_STR_ADD(@subc_str,'STOCK_EMIS',@subc_stock_item_id,Y) -- Очищаем таблицы truncate table #query_ops truncate table #query_grp -- Поиск владельца плана счетов select @partner2plan_id=(select t_plans2partner.id from t_plans2partner where t_plans2partner.plan_id = @plan_id and t_plans2partner.partner_id = @fund_id and .ITEMS_EXISTS(t_plans2partner.id)) -- Отбор остатков insert #query_ops (mode,id,day,sum_bal,sum_qty,deb_or_cred,part_id) select 2, t_oper_list.id, t_oper_list.op_date, isnull(t_oper_list.sum_bal,0), isnull(t_oper_list.qty_sum,0), t_oper_list.deb_or_cred, subs.item_id from t_oper_list, t_oper_subconto subs where t_oper_list.partner2plan_id = @partner2plan_id and t_oper_list.acc_id = @acc581_id and t_oper_list.op_date >= @date_b and t_oper_list.op_date < dateadd(dd,1,@date_e) and t_oper_list.id = subs.id and subs.subconto_type_id= @subc_doc_type_id and isnull(upper(ltrim(t_oper_list.subc_eff_num)),'') like '%'+upper(ltrim(@subc_str))+'%' -- Формирование партий insert into #query_grp (part_id, saldo_bal, saldo_qty) select part_id, sum(sum_bal * deb_or_cred), sum(sum_qty * deb_or_cred) from #query_ops where sum_qty <> 0 group by part_id -- Удаляем "нулевые" партии delete #query_grp where isnull(saldo_bal,0) = 0 and isnull(saldo_qty,0) = 0 if @out_sum_method_id = 1 or (@out_sum_method_id = 2 and @out_method_id in (1,3)) select @mode=1 else if @out_sum_method_id = 2 and @out_method_id = 2 select @mode=2 else select @mode=-1 if @mode = 1 declare tmp_cur_fifo cursor for select o.part_id, o.saldo_bal, o.saldo_qty from #query_grp o, td_depo_docs d where o.part_id = d.id order by d.in_date, d.in_no for read only else if @mode = 2 declare tmp_cur_lifo cursor for select o.part_id, o.saldo_bal, o.saldo_qty from #query_grp o, td_depo_docs d where o.part_id = d.id order by d.in_date desc, d.in_no desc for read only else if @mode = -1 begin select 'Неизвестный методо списания!!!' select @out_sum_method_id as out_sum_method_id, @out_method_id as out_method_id, @fund_id as fund_id return end if @mode = 1 begin open tmp_cur_fifo fetch tmp_cur_fifo into @subc_doc_item_id, @saldo_sum, @stock_qty_cur end else begin open tmp_cur_lifo fetch tmp_cur_lifo into @subc_doc_item_id, @saldo_sum, @stock_qty_cur end while .CURSOR_STATE = 0 begin select @subc_doc_item_id=@subc_doc_item_id select @stock_qty_cur=@stock_qty_cur select @comm_all=0 select @stock_qty=0 -- Для общей партии, суммируем комиссии всех сделок по выбранной ЦБ if @subc_doc_item_id = @partion_id begin -- Из биржевых сделок select @comm_all=isnull(sum(isnull(tb_baysale_docitems.comm_ts,0) +isnull(tb_baysale_docitems.comm_brok,0) +isnull(tb_baysale_docitems.comm_depo,0) +isnull(tb_baysale_docitems.comm_other,0)),0), @stock_qty=isnull(sum(tb_baysale_docitems.stock_qty),0) from tb_baysale_docitems, t_sd_info4oper, td_depo_docs where tb_baysale_docitems.stock_id = @subc_stock_item_id and tb_baysale_docitems.is_comm_in_sum = 0 -- Комиссия не входит в сумму сделки and td_depo_docs.id = tb_baysale_docitems.id and td_depo_docs.owner_id = @fund_id and .ITEMS_EXISTS_BY_TYPE_STATE(tb_baysale_docitems.id,'SD_BROK_BUY','CRT') and t_sd_info4oper.id = tb_baysale_docitems.id and t_sd_info4oper.op_date between @date_b and @date_e -- Из вне биржевых сделок select @comm_all=isnull(@comm_all,0)+isnull(sum(tb_plan_pays.plan_sum),0), @stock_qty=isnull(@stock_qty,0)+isnull(sum(ts_sd_stock_moves.stock_qty),0) from tb_plans, tb_plan_pays, td_depo_docs, ts_sd_stock_moves, t_relation2purposes, t_purposes where td_depo_docs.arch_date between @date_b and @date_e and td_depo_docs.id = ts_sd_stock_moves.id and ts_sd_stock_moves.stock_id = @subc_stock_item_id and td_depo_docs.owner_id = @fund_id and ts_sd_stock_moves.foundation_id = tb_plans.item_id and tb_plans.id = tb_plan_pays.id and tb_plan_pays.pay_perpose_id <> 1 -- Основной платеж по сделке (simple_type = 4041) and .ITEMS_EXISTS_BY_TYPE_STATE(td_depo_docs.id,'D_STOCK_IN_OTHER_DEPO_SD','OP_END_SD') and t_relation2purposes.doc_id = td_depo_docs.id and t_purposes.id = t_relation2purposes.purpose_id and t_purposes.code = '6002' -- Покупка ЦБ на бирже end else begin -- Для ФИФО/ЛИФО получаем комиссии конкрентной партии select @doc_type_code=upper(t_types.type_code) from t_items, t_types where t_items.id = @subc_doc_item_id and t_items.type_id = t_types.id -- Из биржевых сделок if @doc_type_code = 'SD_BROK_BUY' select @comm_all=isnull(tb_baysale_docitems.comm_ts,0) +isnull(tb_baysale_docitems.comm_brok,0) +isnull(tb_baysale_docitems.comm_depo,0) +isnull(tb_baysale_docitems.comm_other,0), @stock_qty=isnull(tb_baysale_docitems.stock_qty,0) from tb_baysale_docitems where tb_baysale_docitems.id = @subc_doc_item_id and tb_baysale_docitems.is_comm_in_sum = 0 else if @doc_type_code = 'D_STOCK_IN_OTHER_DEPO_SD' -- Из вне биржевых сделок select @comm_all=isnull(sum(tb_plan_pays.plan_sum),0), @stock_qty=isnull(sum(ts_sd_stock_moves.stock_qty),0) from tb_plans, tb_plan_pays, td_depo_docs, ts_sd_stock_moves, t_relation2purposes, t_purposes where td_depo_docs.id = @subc_doc_item_id and td_depo_docs.id = ts_sd_stock_moves.id and td_depo_docs.owner_id = @fund_id and ts_sd_stock_moves.foundation_id = tb_plans.item_id and tb_plans.id = tb_plan_pays.id and tb_plan_pays.pay_perpose_id <> 1 -- Основной платеж по сделке (simple_type = 4041) and .ITEMS_EXISTS_BY_TYPE_STATE(td_depo_docs.id,'D_STOCK_IN_OTHER_DEPO_SD','OP_END_SD') and t_relation2purposes.doc_id = td_depo_docs.id and t_purposes.id = t_relation2purposes.purpose_id and t_purposes.code = '6002' -- Покупка ЦБ на бирже end -- Если комиссий нет, новая итерация цикла, по следующей партии if isnull(@comm_all,0) <= 0 begin if @mode = 1 fetch tmp_cur_fifo into @subc_doc_item_id, @saldo_sum, @stock_qty_cur else fetch tmp_cur_lifo into @subc_doc_item_id, @saldo_sum, @stock_qty_cur continue end -- Для НПФ необходимо получить значение аналитики Управляющий (ASSET_MANAGER) if @fund_type_code = 'NPF_FUND' begin select @subc_assman_item_id=isnull(td_depo_docs.initiator_id,@fund_id) from td_depo_docs where td_depo_docs.id = @subc_doc_item_id end select @doc_name='#Коррекция: Перевод расходов на приобретение ЦБ по партии: '+.ITEM_NAME(@subc_doc_item_id) -- Вычисляем остаток комиссий (Комиссия сделки(-ок) / кол-во ЦБ в сделке * остаток ЦБ) select @comm_cur=convert(money,(convert(double precision,@comm_all) / convert(double precision,@stock_qty) * convert(double precision,@stock_qty_cur)),2) -- Если комиссии биржи+депо+брокера > 0 if @comm_cur > 0 begin select @debet_subc_name='' select @credit_subc_name='' select @debet_subc_name=.ITEM_NAME(@subc_stock_item_id)+' : ' select @debet_subc_name=@debet_subc_name+.ITEM_NAME(@subc_doc_item_id) select @credit_subc_name=.ITEM_NAME(@subc_stock_item_id)+' : ' select @credit_subc_name=@credit_subc_name+.ITEM_NAME(@subc_doc_item_id) -- Вставка перечня журнала проводок по основным комиссиям (вставка проводок) .TYPE_INIT('MANOPERLIST',2) .TYPE_ASSIGN(jour_id,@jour_id,2) .TYPE_ASSIGN(plan_id,@plan_id,2) .TYPE_ASSIGN(op_date,@operday,2) .TYPE_ASSIGN(rate_date,@operday,2) .TYPE_ASSIGN(op_sum,@comm_cur,2) .TYPE_ASSIGN(op_name,@doc_name,2) .TYPE_ASSIGN(op_comment,@doc_name,2) .TYPE_ASSIGN(debet_id,@acc5810_id,2) .TYPE_ASSIGN(credit_id,@acc581_id,2) .TYPE_ASSIGN(deb_qty,0,2) .TYPE_ASSIGN(cred_qty,0,2) .TYPE_ASSIGN(debet_subc_name,@debet_subc_name,2) .TYPE_ASSIGN(credit_subc_name,@credit_subc_name,2) .TYPE_INSERT('MANOPERLIST','CRT',2) select @op_list_id=.TYPE_FIELD(id,2) -- Вставка перечня аналитики для каждой проводки exec ap_getid @sub_list_id out insert t_man_op_subc (id, head_id, deb_or_cred, subconto_type_id, item_id) values (@sub_list_id, @op_list_id, 1, @subc_stock_type_id, @subc_stock_item_id) exec ap_getid @sub_list_id out insert t_man_op_subc (id, head_id, deb_or_cred, subconto_type_id, item_id) values (@sub_list_id, @op_list_id, 1, @subc_doc_type_id, @subc_doc_item_id) exec ap_getid @sub_list_id out insert t_man_op_subc (id, head_id, deb_or_cred, subconto_type_id, item_id) values (@sub_list_id, @op_list_id, -1, @subc_stock_type_id, @subc_stock_item_id) exec ap_getid @sub_list_id out insert t_man_op_subc (id, head_id, deb_or_cred, subconto_type_id, item_id) values (@sub_list_id, @op_list_id, -1, @subc_doc_type_id, @subc_doc_item_id) -- Вставка аналитики Управляющий для НПФ if @fund_type_code = 'NPF_FUND' begin exec ap_getid @sub_list_id out insert t_man_op_subc (id, head_id, deb_or_cred, subconto_type_id, item_id) values (@sub_list_id, @op_list_id, 1, @subc_assman_type_id, @subc_assman_item_id) exec ap_getid @sub_list_id out insert t_man_op_subc (id, head_id, deb_or_cred, subconto_type_id, item_id) values (@sub_list_id, @op_list_id, -1, @subc_assman_type_id, @subc_assman_item_id) end end if @mode = 1 begin fetch tmp_cur_fifo into @subc_doc_item_id, @saldo_sum, @stock_qty_cur end else begin fetch tmp_cur_lifo into @subc_doc_item_id, @saldo_sum, @stock_qty_cur end end if @mode = 1 begin close tmp_cur_fifo .DEALLOCATE tmp_cur_fifo end else begin close tmp_cur_lifo .DEALLOCATE tmp_cur_lifo end fetch stock_cur into @subc_stock_item_id end close stock_cur .DEALLOCATE stock_cur -- Если журнал заполнен - проставляем номер журнала, иначе удаляем журнал if exists(select 1 from t_manual_opers where jour_id = @jour_id) begin select @jour_no=null .FUND_GEN_NO(@jour_no,0,@operday) update t_man_jours set jour_no=@jour_no where id = @jour_id end else begin delete t_items where id = @jour_id delete t_man_jours where id = @jour_id end fetch fund_cur into @fund_id, @out_method_id, @out_sum_method_id, @fund_type_code end close fund_cur .DEALLOCATE fund_cur $ENDTEXT(14364584) $ENDACTION $ACTION(AP_PIF_CORRECT_OVERV) name=# Корректировка остатков по переоценке class=9 form=null target_state=null procedure=ap_60365000002786614 patterns=null user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364584) create procedure dbo.%PROC% @date_sb varchar(30) = '01/01/80', -- Дата начала отбора партий @date_se varchar(30) = '01/01/06', -- Дата окончания отбора партий @operday_ds varchar(30) = null, -- Проведения корректировки @fund_id_s varchar(30) = null -- Фонд as set nocount on declare @date_b datetime -- Дата начала отбора партий declare @date_e datetime -- Дата окончания отбора партий declare @operday datetime -- Дата проведения коррекции declare @fund_id numeric(18,0) -- Фонд declare @fund_b_id numeric(18,0) -- Фонд (начало диапазона для выборки) declare @fund_e_id numeric(18,0) -- Фонд (конец диапазона для выборки) declare @plan_id numeric(18,0) -- План счетов (PIF_ACCOUNT, NPF_ACCOUNT) declare @fund_type_code varchar(10) -- Тип фонда (PIF_FUND, NPF_FUND) declare @subc_stock_type_id numeric(18,0) -- Тип субконто STOCK_EMIS (ЦБ) declare @subc_stock_item_id numeric(18,0) -- Значение субконто STOCK_EMIS (ЦБ) declare @subc_doc_type_id numeric(18,0) -- Тип субконто DOC_ITEM (Партия) declare @subc_doc_item_id numeric(18,0) -- Значение субконто DOC_ITEM (Партия) declare @subc_assman_type_id numeric(18,0) -- Тип субконто ASSET_MANAGER (Управляющий) (только для NPF) declare @subc_assman_item_id numeric(18,0) -- Значение субконто ASSET_MANAGER (Управляющий) (только для NPF) declare @acc581_id numeric(18,0) -- Счет 58.1 (ЦБ) declare @acc5811_id numeric(18,0) -- Счет 58.11 (Переоценка) declare @acc863_id numeric(18,0) -- Счет 86.3 (Прирост или уменьшение стоимости имущества Фонда от реализации активов) declare @subc_str varchar(255) -- Строка субконто declare @out_method_id int -- Метод поиска партий (1 - ФИФО, 2 - ЛИФО, 3 - Выбранная партия) declare @out_sum_method_id int -- Метод учета (1 - средневзвешенная, 2 - по партиям) declare @mode int -- Метод отбора партий (1,2) declare @doc_type_code varchar(50) -- Код документа-партии (D_STOCK_IN_OTHER_DEPO_SD, SD_BROK_BUY) declare @comm_all money -- Все комиссии declare @comm_cur money -- Остаток комиссии declare @price double precision -- Комиссия на 1 ЦБ declare @stock_qty money -- Кол-во ЦБ в сделке declare @stock_qty_cur money -- Кол-во ЦБ в партии declare @doc_name varchar(255) -- Комментарий в проводке declare @partner2plan_id numeric(18,0) -- Владелец плана счетов declare @saldo_sum money -- Остаток на счете суммовой (не используется) declare @partion_id numeric(18,0) -- Общая партия (COMMON_ASSET_INPUT) declare @jour_id numeric(18,0) -- Журнал ручных проводок declare @jour_no varchar(100) -- Номер журнала проводок declare @doc_comment varchar(255) -- Коментарий к журналу проводок declare @debet_subc_name varchar(255) -- Строка субконто для журнала проводок (дебет) declare @credit_subc_name varchar(255) -- Строка субконто для журнала проводок (кредит) declare @op_list_id numeric(18,0) -- Перечень журнала проводок declare @sub_list_id numeric(18,0) -- Перечень аналитики журнала проводок declare @del_acc_id numeric(18,0) -- Счет 86.3 для "отрицательной переоценки" declare @diff int -- Прибыль или Убыток (1 или -1) -- Таблица для сбора остатков create table #query_ops ( mode int null, id numeric(18,0) null, day datetime null, sum_bal money null, sum_qty money null, deb_or_cred int null, part_id numeric(18,0) null ) -- Таблица для отбора партий create table #query_grp ( saldo_bal money null, saldo_qty money null, part_id numeric(18,0) null ) if isnull(@operday_ds,'') = '' select @operday=.OPERDAY else select @operday=convert(datetime,@operday_ds,3) select @date_b=convert(datetime,@date_sb,3) select @date_e=convert(datetime,@date_se,3) select @fund_id=convert(numeric(18,0),@fund_id_s) -- Счет для "отрицательной" переоценки select @del_acc_id=.SD_ACCID_FROM_EFFNO(@plan_id,'96.3.1') -- Общая партия select @partion_id=(select td_depo_docs.id from td_depo_docs where in_no='COMMON_ASSET_INPUT' and .ITEMS_EXISTS_BY_TYPE(td_depo_docs.id,'letter_in')) -- Получение типов аналитики select @subc_stock_type_id=.SUBCTYPE_FROM_CODE('STOCK_EMIS') select @subc_doc_type_id=.SUBCTYPE_FROM_CODE('DOC_ITEM') select @subc_assman_type_id=.SUBCTYPE_FROM_CODE('ASSET_MANAGER') if @fund_id is null begin select @fund_b_id=-999999999999999998 select @fund_e_id=999999999999999999 end else begin select @fund_b_id=@fund_id select @fund_e_id=@fund_id end -- Отбор фондов для коррекции комиссий declare fund_cur cursor for select td_pay_fond.id, td_pay_fond.out_method_id, td_pay_fond.out_sum_method_id, t_types.type_code from td_pay_fond, t_items, t_types, t_states where td_pay_fond.id = t_items.id and t_items.type_id = t_types.id and upper(t_types.type_code) in ('PIF_FUND','NPF_FUND') and t_items.state_id = t_states.id and t_states.class_id = 0 and td_pay_fond.id between @fund_b_id and @fund_e_id open fund_cur fetch fund_cur into @fund_id, @out_method_id, @out_sum_method_id, @fund_type_code while .CURSOR_STATE = 0 begin if @fund_type_code = 'PIF_FUND' begin select @plan_id=.PLAN('PIF_ACCOUNT') end else if @fund_type_code = 'NPF_FUND' begin select @plan_id=.PLAN('NPF_ACCOUNT') end select @acc581_id=.SD_ACCID_FROM_EFFNO(@plan_id,'58.1') select @acc5811_id=.SD_ACCID_FROM_EFFNO(@plan_id,'58.11') select @acc863_id=.SD_ACCID_FROM_EFFNO(@plan_id,'86.3') -- Ищем журнал ручных проводок select @jour_id=isnull((select j.id from t_man_jours j, t_items i, t_types t, t_states s where j.doc_date = @operday and j.owner_id = @fund_id and j.id = i.id and i.type_id = t.id and upper(t.type_code) = 'MANOPER' and lower(j.doc_comment) like ('%переоценки%') and i.state_id = s.id and upper(s.state_code) = 'ED' and s.class_id = 0),-1) -- Если журнал не найден, то создаем новый if isnull(@jour_id,-1) = -1 begin select @doc_comment='#Коррекция: Перевод переоценки ЦБ по фонду - ' select @doc_comment=@doc_comment+isnull((select partner_name from t_partners where id = @fund_id),'Не задано наименование фонда') .TYPE_INIT('MANOPER',1) .TYPE_ASSIGN(doc_date,@operday,1) .TYPE_ASSIGN(owner_id,@fund_id,1) .TYPE_ASSIGN(doc_comment,@doc_comment,1) .TYPE_INSERT('MANOPER','ED',1) select @jour_id=.TYPE_FIELD(id,1) end else begin -- Очищаем содержимое существующего журнала delete t_items where id in (select id from t_manual_opers where jour_id = @jour_id) delete t_man_op_subc where head_id in (select id from t_manual_opers where jour_id = @jour_id) delete t_manual_opers where jour_id = @jour_id end -- Отбор всех ЦБ declare stock_cur cursor for select td_stock_emis.id from td_stock_emis where .ITEMS_EXISTS_BY_TYPE(td_stock_emis.id,'TD_STOCK_EMIS') open stock_cur fetch stock_cur into @subc_stock_item_id while .CURSOR_STATE = 0 begin select @subc_str='' -- Формируем строку субконто для отбора партий по выбранной в курсоре ЦБ .SUBC_STR_ADD(@subc_str,'STOCK_EMIS',@subc_stock_item_id,Y) -- Очищаем таблицы truncate table #query_ops truncate table #query_grp -- Поиск владельца плана счетов select @partner2plan_id=(select t_plans2partner.id from t_plans2partner where t_plans2partner.plan_id = @plan_id and t_plans2partner.partner_id = @fund_id and .ITEMS_EXISTS(t_plans2partner.id)) -- Отбор остатков insert #query_ops (mode,id,day,sum_bal,sum_qty,deb_or_cred,part_id) select 2, t_oper_list.id, t_oper_list.op_date, isnull(t_oper_list.sum_bal,0), isnull(t_oper_list.qty_sum,0), t_oper_list.deb_or_cred, subs.item_id from t_oper_list, t_oper_subconto subs, t_oper_list oper_list where t_oper_list.partner2plan_id = @partner2plan_id and t_oper_list.acc_id = @acc581_id and t_oper_list.op_date >= @date_b and t_oper_list.op_date < dateadd(dd,1,@date_e) and t_oper_list.id = subs.id and subs.subconto_type_id= @subc_doc_type_id and isnull(upper(ltrim(t_oper_list.subc_eff_num)),'') like '%'+upper(ltrim(@subc_str))+'%' and t_oper_list.head_id = oper_list.head_id and oper_list.acc_id = @acc863_id -- Формирование партий insert into #query_grp (part_id, saldo_bal, saldo_qty) select part_id, sum(sum_bal * deb_or_cred), sum(sum_qty * deb_or_cred) from #query_ops where sum_bal <> 0 group by part_id -- Удаляем "нулевые" партии delete #query_grp where isnull(saldo_bal,0) = 0 and isnull(saldo_qty,0) = 0 if @out_sum_method_id = 1 or (@out_sum_method_id = 2 and @out_method_id in (1,3)) select @mode=1 else if @out_sum_method_id = 2 and @out_method_id = 2 select @mode=2 else select @mode=-1 if @mode = 1 declare tmp_cur_fifo cursor for select o.part_id, o.saldo_bal, o.saldo_qty from #query_grp o, td_depo_docs d where o.part_id = d.id order by d.in_date, d.in_no for read only else if @mode = 2 declare tmp_cur_lifo cursor for select o.part_id, o.saldo_bal, o.saldo_qty from #query_grp o, td_depo_docs d where o.part_id = d.id order by d.in_date desc, d.in_no desc for read only else if @mode = -1 begin select 'Неизвестный методо списания!!!' select @out_sum_method_id as out_sum_method_id, @out_method_id as out_method_id, @fund_id as fund_id return end if @mode = 1 begin open tmp_cur_fifo fetch tmp_cur_fifo into @subc_doc_item_id, @saldo_sum, @stock_qty_cur end else begin open tmp_cur_lifo fetch tmp_cur_lifo into @subc_doc_item_id, @saldo_sum, @stock_qty_cur end while .CURSOR_STATE = 0 begin select @subc_doc_item_id=@subc_doc_item_id -- Если переоценки нет, новая итерация цикла, по следующей партии if isnull(@saldo_sum,0) = 0 begin if @mode = 1 fetch tmp_cur_fifo into @subc_doc_item_id, @saldo_sum, @stock_qty_cur else fetch tmp_cur_lifo into @subc_doc_item_id, @saldo_sum, @stock_qty_cur continue end if @saldo_sum > 0 select @diff=1 -- Прибыль else select @diff=-1 -- Убыток -- Для НПФ необходимо получить значение аналитики Управляющий (ASSET_MANAGER) if @fund_type_code = 'NPF_FUND' begin select @subc_assman_item_id=isnull(td_depo_docs.initiator_id,@fund_id) from td_depo_docs where td_depo_docs.id = @subc_doc_item_id end select @doc_name='#Коррекция: Перевод расходов на приобретение ЦБ по партии: '+.ITEM_NAME(@subc_doc_item_id) select @debet_subc_name='' select @credit_subc_name='' select @debet_subc_name=.ITEM_NAME(@subc_stock_item_id)+' : ' select @debet_subc_name=@debet_subc_name+.ITEM_NAME(@subc_doc_item_id) select @credit_subc_name=.ITEM_NAME(@subc_stock_item_id)+' : ' select @credit_subc_name=@credit_subc_name+.ITEM_NAME(@subc_doc_item_id) -- Вставка перечня журнала проводок (вставка проводок) .TYPE_INIT('MANOPERLIST',2) .TYPE_ASSIGN(jour_id,@jour_id,2) .TYPE_ASSIGN(plan_id,@plan_id,2) .TYPE_ASSIGN(op_date,@operday,2) .TYPE_ASSIGN(rate_date,@operday,2) .TYPE_ASSIGN(op_name,@doc_name,2) .TYPE_ASSIGN(op_comment,@doc_name,2) if @diff = 1 begin .TYPE_ASSIGN(debet_id,@acc5811_id,2) .TYPE_ASSIGN(credit_id,@acc581_id,2) .TYPE_ASSIGN(op_sum,@saldo_sum,2) end else begin .TYPE_ASSIGN(debet_id,@acc581_id,2) .TYPE_ASSIGN(credit_id,@acc5811_id,2) .TYPE_ASSIGN(op_sum,(@saldo_sum*-1),2) end .TYPE_ASSIGN(deb_qty,0,2) .TYPE_ASSIGN(cred_qty,0,2) .TYPE_ASSIGN(debet_subc_name,@debet_subc_name,2) .TYPE_ASSIGN(credit_subc_name,@credit_subc_name,2) .TYPE_INSERT('MANOPERLIST','CRT',2) select @op_list_id=.TYPE_FIELD(id,2) -- Вставка перечня аналитики для каждой проводки exec ap_getid @sub_list_id out insert t_man_op_subc (id, head_id, deb_or_cred, subconto_type_id, item_id) values (@sub_list_id, @op_list_id, @diff, @subc_stock_type_id, @subc_stock_item_id) exec ap_getid @sub_list_id out insert t_man_op_subc (id, head_id, deb_or_cred, subconto_type_id, item_id) values (@sub_list_id, @op_list_id, @diff, @subc_doc_type_id, @subc_doc_item_id) exec ap_getid @sub_list_id out insert t_man_op_subc (id, head_id, deb_or_cred, subconto_type_id, item_id) values (@sub_list_id, @op_list_id, @diff*-1, @subc_stock_type_id, @subc_stock_item_id) exec ap_getid @sub_list_id out insert t_man_op_subc (id, head_id, deb_or_cred, subconto_type_id, item_id) values (@sub_list_id, @op_list_id, @diff*-1, @subc_doc_type_id, @subc_doc_item_id) -- Вставка аналитики Управляющий для НПФ if @fund_type_code = 'NPF_FUND' begin exec ap_getid @sub_list_id out insert t_man_op_subc (id, head_id, deb_or_cred, subconto_type_id, item_id) values (@sub_list_id, @op_list_id, @diff, @subc_assman_type_id, @subc_assman_item_id) exec ap_getid @sub_list_id out insert t_man_op_subc (id, head_id, deb_or_cred, subconto_type_id, item_id) values (@sub_list_id, @op_list_id, @diff*-1, @subc_assman_type_id, @subc_assman_item_id) end if @mode = 1 begin fetch tmp_cur_fifo into @subc_doc_item_id, @saldo_sum, @stock_qty_cur end else begin fetch tmp_cur_lifo into @subc_doc_item_id, @saldo_sum, @stock_qty_cur end end if @mode = 1 begin close tmp_cur_fifo .DEALLOCATE tmp_cur_fifo end else begin close tmp_cur_lifo .DEALLOCATE tmp_cur_lifo end fetch stock_cur into @subc_stock_item_id end close stock_cur .DEALLOCATE stock_cur -- Если журнал заполнен - проставляем номер журнала, иначе удаляем журнал if exists(select 1 from t_manual_opers where jour_id = @jour_id) begin select @jour_no=null .FUND_GEN_NO(@jour_no,0,@operday) update t_man_jours set jour_no=@jour_no where id = @jour_id end else begin delete t_items where id = @jour_id delete t_man_jours where id = @jour_id end fetch fund_cur into @fund_id, @out_method_id, @out_sum_method_id, @fund_type_code end close fund_cur .DEALLOCATE fund_cur $ENDTEXT(14364584) $ENDACTION $ACTION(PIF_SREZ_ACCOUNTS_CALCULATE) name=Пересчет остатков по активам class=9 form=null target_state=CRT procedure=ap_60100000000001459 patterns=GENERIC_MOVE user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364584) 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) .GET_PROPS .TRANSACTION_SAVE declare @plan_id numeric select @plan_id=.ARG_PLAN('PIF_ACCOUNT') if @plan_id is null .EXIT_MESSAGE('Не найден план PIF_ACCOUNT') declare @plan2partner numeric select @plan2partner=(select t_plans2partner.id from t_plans2partner,.ACTUAL_TABLES where t_plans2partner.plan_id=@plan_id and t_plans2partner.partner_id=@fond_id .ACTUAL_WHERE(t_plans2partner.id)) if @plan2partner is null .EXIT_MESSAGE('У фонда нет плана счетов PIF_ACCOUNT') declare @acc_51 numeric declare @acc_58_1 numeric declare @acc_58_2 numeric declare @acc_58_3 numeric declare @acc_08_1 numeric declare @acc_01_1 numeric declare @acc_76_10_id numeric select @acc_51 = .SD_ACCID_FROM_EFFNO(@plan_id,'51') select @acc_01_1 = .SD_ACCID_FROM_EFFNO(@plan_id,'01.1') select @acc_58_1 = .SD_ACCID_FROM_EFFNO(@plan_id,'58.1') select @acc_58_3 = .SD_ACCID_FROM_EFFNO(@plan_id,'58.3') select @acc_58_2 = .SD_ACCID_FROM_EFFNO(@plan_id,'58.2') select @acc_08_1 = .SD_ACCID_FROM_EFFNO(@plan_id,'08.1') select @acc_76_10_id = .SD_ACCID_FROM_EFFNO(@plan_id,'76.10') create table #oper_list( oper_list_id numeric null, object_qty money null, bal_sum money null, deb_or_cred int, acc_id numeric) create table #report( object_id numeric null, object_qty money null, bal_sum money null, acc_id numeric) declare @cur_period_id numeric, @cur_period_date datetime /*Ищем закрытый период*/ select @cur_period_id = (select id from t_periods where partner2plan_id = @plan2partner and period_date = (select max(period_date) from t_periods where partner2plan_id=@plan2partner and period_date < @srez_date)) select @cur_period_date = (select period_date from t_periods where id = @cur_period_id) declare @cur_stock_subconto numeric, @cur_other_subconto numeric, @cur_bank_subconto numeric, @cur_doc_subconto numeric, @cur_partner_subconto numeric select @cur_stock_subconto = .SUBCTYPE_FROM_CODE('stock_emis') select @cur_other_subconto = .SUBCTYPE_FROM_CODE('other_assets') select @cur_bank_subconto = .SUBCTYPE_FROM_CODE('bank_account') select @cur_doc_subconto = .SUBCTYPE_FROM_CODE('doc_item') select @cur_partner_subconto = .SUBCTYPE_FROM_CODE('partners') if @cur_period_date is null begin select @cur_period_id = null select @cur_period_date=convert(datetime, '1/1/1800', 103) end else begin /* Closed Period */ insert into #oper_list(oper_list_id,object_qty,bal_sum,deb_or_cred,acc_id) select t_account_history.id,t_account_history.saldo_qty,t_account_history.saldo,t_account_history.deb_or_cred,t_account_history.acc_id from t_account_history, t_acchistory_subconto subc1 where t_account_history.period_id = @cur_period_id and t_account_history.id = subc1.id and t_account_history.acc_id in (@acc_58_2,@acc_58_3,@acc_08_1,@acc_01_1,@acc_51,@acc_76_10_id) and subc1.subconto_type_id not in (@cur_doc_subconto,@cur_partner_subconto) insert into #report(acc_id, object_id, object_qty,bal_sum) select @acc_58_3, subc2.item_id, sum(isnull(#oper_list.object_qty *#oper_list.deb_or_cred,0)), sum(isnull(#oper_list.bal_sum *#oper_list.deb_or_cred,0)) from #oper_list,t_acchistory_subconto subc2 where #oper_list.oper_list_id = subc2.id and subc2.subconto_type_id=@cur_other_subconto and #oper_list.acc_id=@acc_58_3 group by subc2.item_id insert into #report(acc_id, object_id, object_qty,bal_sum) select @acc_58_2, subc2.item_id, sum(isnull(#oper_list.object_qty *#oper_list.deb_or_cred,0)), sum(isnull(#oper_list.bal_sum *#oper_list.deb_or_cred,0)) from #oper_list,t_acchistory_subconto subc2 where #oper_list.oper_list_id = subc2.id and subc2.subconto_type_id=@cur_bank_subconto and #oper_list.acc_id=@acc_58_2 group by subc2.item_id insert into #report(acc_id, object_id, object_qty,bal_sum) select @acc_51, subc2.item_id, sum(isnull(#oper_list.object_qty *#oper_list.deb_or_cred,0)), sum(isnull(#oper_list.bal_sum *#oper_list.deb_or_cred,0)) from #oper_list,t_acchistory_subconto subc2 where #oper_list.oper_list_id = subc2.id and subc2.subconto_type_id=@cur_bank_subconto and #oper_list.acc_id=@acc_51 group by subc2.item_id insert into #report(acc_id, object_id, object_qty,bal_sum) select @acc_76_10_id, subc2.item_id, sum(isnull(#oper_list.object_qty *#oper_list.deb_or_cred,0)), sum(isnull(#oper_list.bal_sum *#oper_list.deb_or_cred,0)) from #oper_list,t_acchistory_subconto subc2 where #oper_list.oper_list_id = subc2.id and subc2.subconto_type_id=@cur_bank_subconto and #oper_list.acc_id=@acc_76_10_id group by subc2.item_id insert into #report(acc_id, object_id, object_qty,bal_sum) select @acc_08_1, subc2.item_id, sum(isnull(#oper_list.object_qty *#oper_list.deb_or_cred,0)), sum(isnull(#oper_list.bal_sum *#oper_list.deb_or_cred,0)) from #oper_list,t_acchistory_subconto subc2 where #oper_list.oper_list_id = subc2.id and subc2.subconto_type_id=@cur_other_subconto and #oper_list.acc_id=@acc_08_1 group by subc2.item_id insert into #report(acc_id, object_id, object_qty,bal_sum) select @acc_01_1, subc2.item_id, sum(isnull(#oper_list.object_qty *#oper_list.deb_or_cred,0)), sum(isnull(#oper_list.bal_sum *#oper_list.deb_or_cred,0)) from #oper_list,t_acchistory_subconto subc2 where #oper_list.oper_list_id = subc2.id and subc2.subconto_type_id=@cur_other_subconto and #oper_list.acc_id=@acc_01_1 group by subc2.item_id end truncate table #oper_list insert into #oper_list(oper_list_id,object_qty,bal_sum,deb_or_cred,acc_id) select t_oper_list.id,t_oper_list.qty_sum,t_oper_list.sum_bal,t_oper_list.deb_or_cred,t_oper_list.acc_id from t_oper_list, t_oper_subconto subc1 where t_oper_list.partner2plan_id = @plan2partner and t_oper_list.op_date >= @cur_period_date and t_oper_list.op_date < dateadd(day, 1, @srez_date) and t_oper_list.id = subc1.id and t_oper_list.acc_id in (@acc_58_2,@acc_58_3,@acc_08_1,@acc_01_1,@acc_51,@acc_76_10_id) and subc1.subconto_type_id not in (@cur_doc_subconto,@cur_partner_subconto) insert into #report(acc_id, object_id, object_qty,bal_sum) select @acc_58_3, subc2.item_id, sum(isnull(#oper_list.object_qty * #oper_list.deb_or_cred,0)), sum(isnull(#oper_list.bal_sum * #oper_list.deb_or_cred,0)) from #oper_list, t_oper_subconto subc2 where #oper_list.oper_list_id = subc2.id and subc2.subconto_type_id=@cur_other_subconto and #oper_list.acc_id=@acc_58_3 group by subc2.item_id insert into #report(acc_id, object_id, object_qty,bal_sum) select @acc_58_2, subc2.item_id, sum(isnull(#oper_list.object_qty * #oper_list.deb_or_cred,0)), sum(isnull(#oper_list.bal_sum * #oper_list.deb_or_cred,0)) from #oper_list, t_oper_subconto subc2 where #oper_list.oper_list_id = subc2.id and subc2.subconto_type_id=@cur_bank_subconto and #oper_list.acc_id=@acc_58_2 group by subc2.item_id insert into #report(acc_id, object_id, object_qty,bal_sum) select @acc_51, subc2.item_id, sum(isnull(#oper_list.object_qty * #oper_list.deb_or_cred,0)), sum(isnull(#oper_list.bal_sum * #oper_list.deb_or_cred,0)) from #oper_list, t_oper_subconto subc2 where #oper_list.oper_list_id = subc2.id and subc2.subconto_type_id=@cur_bank_subconto and #oper_list.acc_id=@acc_51 group by subc2.item_id insert into #report(acc_id, object_id, object_qty,bal_sum) select @acc_76_10_id, subc2.item_id, sum(isnull(#oper_list.object_qty * #oper_list.deb_or_cred,0)), sum(isnull(#oper_list.bal_sum * #oper_list.deb_or_cred,0)) from #oper_list, t_oper_subconto subc2 where #oper_list.oper_list_id = subc2.id and subc2.subconto_type_id=@cur_bank_subconto and #oper_list.acc_id=@acc_76_10_id group by subc2.item_id insert into #report(acc_id, object_id, object_qty,bal_sum) select @acc_08_1, subc2.item_id, sum(isnull(#oper_list.object_qty*#oper_list.deb_or_cred,0)), sum(isnull(#oper_list.bal_sum * #oper_list.deb_or_cred,0)) from #oper_list, t_oper_subconto subc2 where #oper_list.oper_list_id = subc2.id and subc2.subconto_type_id=@cur_other_subconto and #oper_list.acc_id=@acc_08_1 group by subc2.item_id insert into #report(acc_id, object_id, object_qty,bal_sum) select @acc_01_1, subc2.item_id, sum(isnull(#oper_list.object_qty * #oper_list.deb_or_cred,0)), sum(isnull(#oper_list.bal_sum * #oper_list.deb_or_cred,0)) from #oper_list, t_oper_subconto subc2 where #oper_list.oper_list_id = subc2.id and subc2.subconto_type_id=@cur_other_subconto and #oper_list.acc_id=@acc_01_1 group by subc2.item_id truncate table #oper_list delete tp_pif_srez_portfolio where tp_pif_srez_portfolio.srez_id = @id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'PIF_SREZ_ACCOUNTS') delete t_items from tp_pif_srez_portfolio where t_items.id = tp_pif_srez_portfolio.id and tp_pif_srez_portfolio.srez_id = @id and exists(select 1 from t_items item, t_states, t_types where item.id=tp_pif_srez_portfolio.id and t_states.id=item.state_id and t_states.class_id=0 and t_types.id=item.type_id and upper(t_types.type_code)=upper('PIF_SREZ_ACCOUNTS')) --select object_id,object_qty, -- bal_sum,acc_id from #report declare @c_object_id numeric, @c_object_qty money, @c_bal_sum money, @c_acc_id numeric, @cur_is_rate int, @cur_rate_place_id numeric, @rate_cur_id numeric, @cur_stock_rate money, @class_value_code varchar(30), @class_comment varchar(255), @rur_cur_id numeric, @cur_stock_rur money, @rate_value money, @rate_date datetime, @c_ocen_sum money select @rur_cur_id=.CUR('RUR') declare cur1 cursor for --select object_id, object_qty, bal_sum, acc_id from #report where bal_sum<>0 and acc_id<>@acc_76_10_id select r.object_id, sum(r.object_qty), sum(r.bal_sum), r.acc_id from #report r where 1=1 -- and r.bal_sum <> 0 and r.acc_id <> @acc_76_10_id group by r.acc_id, r.object_id having sum(r.bal_sum)<>0 open cur1 fetch cur1 into @c_object_id, @c_object_qty, @c_bal_sum, @c_acc_id while @@sqlstatus=0 begin select @c_ocen_sum=null -- оценка депозита ----------- if @c_acc_id = @acc_58_2 select @c_ocen_sum = @c_bal_sum + (select sum(bal_sum) from #report where object_id=@c_object_id and acc_id=@acc_76_10_id) ------------------------------ if isnull(@c_ocen_sum,0)=0 select @c_ocen_sum=@c_bal_sum .TYPE_INIT('PIF_SREZ_ACCOUNTS') .TYPE_ASSIGN(srez_id,@id) .TYPE_ASSIGN(stock_sum,@c_ocen_sum) .TYPE_ASSIGN(stock_rate,0) .TYPE_ASSIGN(stock_id,@c_object_id) .TYPE_ASSIGN(stock_qty,@c_object_qty) .TYPE_ASSIGN(bal_sum,@c_bal_sum) .TYPE_ASSIGN(acc_id,@c_acc_id) .TYPE_ASSIGN(is_rate,@cur_is_rate) .TYPE_INSERT('PIF_SREZ_ACCOUNTS','CRT') fetch cur1 into @c_object_id, @c_object_qty,@c_bal_sum,@c_acc_id end close cur1 deallocate cursor cur1 drop table #oper_list drop table #report .TRANSACTION_RESTORE commit tran $ENDTEXT(14364584) $ENDACTION $ACTION(PIF_SREZ_ADD_INFO_CALC) name=Пересчет пунктов (Доп. информация) class=9 form=null target_state=null procedure=ap_60365000002786616 patterns=null user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364584) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .GET_PROPS declare @start_date datetime, --начальная дата @start_srez numeric select @start_srez=@startsrez_id if @srez_date_b is null select @start_date=convert(datetime,'01/01/1800') else select @start_date=@srez_date_b .TRANSACTION_SAVE create table #report( row_code varchar(50) not null, row_name varchar(255) not null, row_sum money null, row_qty decimal(18,8) null ) begin tran declare @plan_id numeric select @plan_id=.ARG_PLAN('PIF_ACCOUNT') if @plan_id is null .EXIT_MESSAGE('Не найден план PIF_ACCOUNT') declare @plan2partner numeric select @plan2partner=(select t_plans2partner.id from t_plans2partner,.ACTUAL_TABLES where t_plans2partner.plan_id=@plan_id and t_plans2partner.partner_id=@fond_id .ACTUAL_WHERE(t_plans2partner.id)) if @plan2partner is null .EXIT_MESSAGE('У фонда нет плана счетов PIF_ACCOUNT') declare @acc_011 numeric, @acc_551 numeric, @acc_581 numeric, @acc_583 numeric, @acc_761 numeric, @acc_7610 numeric, @acc_7611 numeric, @acc_7612 numeric, @acc_7613 numeric, @acc_7614 numeric, @acc_7615 numeric, @acc_7616 numeric, @acc_7617 numeric, @acc_7618 numeric, @acc_762 numeric, @acc_763 numeric, @acc_7641 numeric, @acc_7642 numeric, @acc_7651 numeric, @acc_7652 numeric, @acc_7653 numeric, @acc_7654 numeric, @acc_7655 numeric, @acc_766 numeric, @acc_767 numeric, @acc_768 numeric, @acc_769 numeric, @acc_861 numeric, @acc_862 numeric, @acc_863 numeric, @acc_865 numeric, @acc_901 numeric, @acc_902 numeric, @acc_915 numeric select @acc_011= .SD_ACCID_FROM_EFFNO(@plan_id,'01.1') select @acc_551= .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.4') select @acc_581= .SD_ACCID_FROM_EFFNO(@plan_id,'58.1') select @acc_583= .SD_ACCID_FROM_EFFNO(@plan_id,'58.3') select @acc_761= .SD_ACCID_FROM_EFFNO(@plan_id,'76.1') select @acc_7610= .SD_ACCID_FROM_EFFNO(@plan_id,'76.10') select @acc_7611= .SD_ACCID_FROM_EFFNO(@plan_id,'76.11') select @acc_7612= .SD_ACCID_FROM_EFFNO(@plan_id,'76.12') select @acc_7613= .SD_ACCID_FROM_EFFNO(@plan_id,'76.13') select @acc_7614= .SD_ACCID_FROM_EFFNO(@plan_id,'76.14') select @acc_7615= .SD_ACCID_FROM_EFFNO(@plan_id,'76.15') select @acc_7616= .SD_ACCID_FROM_EFFNO(@plan_id,'76.16') select @acc_7617= .SD_ACCID_FROM_EFFNO(@plan_id,'76.17') select @acc_7618= .SD_ACCID_FROM_EFFNO(@plan_id,'76.18') select @acc_762= .SD_ACCID_FROM_EFFNO(@plan_id,'76.2') select @acc_763= .SD_ACCID_FROM_EFFNO(@plan_id,'76.3') select @acc_7641= .SD_ACCID_FROM_EFFNO(@plan_id,'76.4.1') select @acc_7642= .SD_ACCID_FROM_EFFNO(@plan_id,'76.4.2') select @acc_7651= .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.1') select @acc_7652= .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.2') select @acc_7653= .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.3') select @acc_7654= .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.4') select @acc_7655= .SD_ACCID_FROM_EFFNO(@plan_id,'76.5.5') select @acc_766= .SD_ACCID_FROM_EFFNO(@plan_id,'76.6') select @acc_767= .SD_ACCID_FROM_EFFNO(@plan_id,'76.7') select @acc_768= .SD_ACCID_FROM_EFFNO(@plan_id,'76.8') select @acc_769= .SD_ACCID_FROM_EFFNO(@plan_id,'76.9') select @acc_861= .SD_ACCID_FROM_EFFNO(@plan_id,'96.1') select @acc_862= .SD_ACCID_FROM_EFFNO(@plan_id,'96.2') -- !!! select @acc_863= .SD_ACCID_FROM_EFFNO(@plan_id,'96.3.1') --10/09/04 select @acc_863= .SD_ACCID_FROM_EFFNO(@plan_id,'96.3.1') --10/09/04 select @acc_865= .SD_ACCID_FROM_EFFNO(@plan_id,'86.5') select @acc_901= .SD_ACCID_FROM_EFFNO(@plan_id,'48.1') -- !!! select @acc_902= .SD_ACCID_FROM_EFFNO(@plan_id,'48.2') select @acc_902= .SD_ACCID_FROM_EFFNO(@plan_id,'90') select @acc_915= .SD_ACCID_FROM_EFFNO(@plan_id,'96.3.4') declare @sum_bal money, @qty_sum decimal(18,8) select @sum_bal=isnull(sum(isnull(ol1.sum_bal,0)),0), @qty_sum=isnull(sum(isnull(ol1.qty_sum,0)),0) from t_oper_list ol1, t_oper_list ol2 where ol1.partner2plan_id = @plan2partner and ol2.partner2plan_id = @plan2partner and ol1.op_date >= @start_date and ol2.op_date >= @start_date and ol1.op_date < dateadd(day, 1, @srez_date) and ol2.op_date < dateadd(day, 1, @srez_date) and ol1.acc_id=@acc_901 and ol1.deb_or_cred=-1 and ol2.acc_id in (@acc_551,@acc_7610,@acc_7611,@acc_7612,@acc_7614,@acc_7615,@acc_7616, @acc_7617,@acc_7618,@acc_762,@acc_763,@acc_7641,@acc_7642,@acc_7651, @acc_7652,@acc_7653,@acc_7654,@acc_7655,@acc_766,@acc_767,@acc_768,@acc_769) and ol2.deb_or_cred=1 and ol1.head_id=ol2.head_id and ol1.id!=ol2.id group by ol1.acc_id insert into #report(row_code, row_name, row_sum, row_qty) select 'STOCK_SALE_PROCEEDS', 'Выручка от продажи ценных бумаг', isnull(@sum_bal,0), isnull(@qty_sum,0) --------------------------------------------------------- select @sum_bal=0, @qty_sum=0 ------------------------------------------------------- select @sum_bal=isnull(sum(isnull(ol1.sum_bal,0)),0), @qty_sum=isnull(sum(isnull(ol1.qty_sum,0)),0) from t_oper_list ol1, t_oper_list ol2 where ol1.partner2plan_id = @plan2partner and ol2.partner2plan_id = @plan2partner and ol1.op_date >= @start_date and ol2.op_date >= @start_date and ol1.op_date < dateadd(day, 1, @srez_date) and ol2.op_date < dateadd(day, 1, @srez_date) and ol1.acc_id=@acc_902 and ol1.deb_or_cred=1 and ol2.acc_id in (@acc_581,@acc_7612,@acc_551) and ol2.deb_or_cred=-1 and ol1.head_id=ol2.head_id and ol1.id!=ol2.id group by ol1.acc_id insert into #report(row_code, row_name, row_sum,row_qty) select 'STOCK_SALE_EXPENSES', 'Расходы, связанные с продажей ценных бумаг', isnull(@sum_bal,0), isnull(@qty_sum,0) --------------------------------------------------------- select @sum_bal=0, @qty_sum=0 ------------------------------------------------------- select @sum_bal=isnull(sum(isnull(ol1.sum_bal,0)),0), @qty_sum=isnull(sum(isnull(ol1.qty_sum,0)),0) from t_oper_list ol1, t_oper_list ol2 where ol1.partner2plan_id = @plan2partner and ol2.partner2plan_id = @plan2partner and ol1.op_date >= @start_date and ol2.op_date >= @start_date and ol1.op_date < dateadd(day, 1, @srez_date) and ol2.op_date < dateadd(day, 1, @srez_date) and ol1.acc_id=@acc_767 and ol1.deb_or_cred=1 and ol2.acc_id=@acc_863 and ol2.deb_or_cred=-1 and ol1.head_id=ol2.head_id and ol1.id!=ol2.id group by ol1.acc_id select @sum_bal=isnull(@sum_bal,0)-isnull(sum(isnull(ol1.sum_bal,0)),0), @qty_sum=isnull(@qty_sum,0)-isnull(sum(isnull(ol1.qty_sum,0)),0) from t_oper_list ol1, t_oper_list ol2 where ol1.partner2plan_id = @plan2partner and ol2.partner2plan_id = @plan2partner and ol1.op_date >= @start_date and ol2.op_date >= @start_date and ol1.op_date < dateadd(day, 1, @srez_date) and ol2.op_date < dateadd(day, 1, @srez_date) and ol1.acc_id=@acc_863 and ol1.deb_or_cred=1 and ol2.acc_id=@acc_767 and ol2.deb_or_cred=-1 and ol1.head_id=ol2.head_id and ol1.id!=ol2.id group by ol1.acc_id insert into #report(row_code, row_name, row_sum, row_qty) select 'STOCK_SALES_PNKD_RESULT', 'Результат от ПНКД при продаже ценных бумаг', isnull(@sum_bal,0), 0 --------------------------------------------------------- select @sum_bal=0, @qty_sum=0 --------------------------------------------------------- declare @subc_type_id numeric select @subc_type_id=.SUBCTYPE_FROM_CODE('pifdocs') select @sum_bal=isnull(sum(isnull(ol.sum_bal,0)),0), @qty_sum=isnull(sum(isnull(ol.qty_sum,0)),0) from t_oper_list ol, t_operations o where o.partner2plan_id=@plan2partner and ol.head_id=o.id and ol.acc_id in (@acc_861,@acc_865) and (o.op_date=@start_date) and ol.deb_or_cred=1 and exists(select 1 from t_oper_list ol2, t_oper_subconto os, tp_pif_queries d where ol2.head_id=o.id and ol2.acc_id = @acc_7642 and ol2.deb_or_cred=-1 and os.id=ol2.id and os.subconto_type_id=@subc_type_id and os.item_id=d.id and isnull(d.type_queries,0)=4) /* -- alex 30/11/05 - в sdepo счета 86.5 нет select @sum_bal=@sum_bal-isnull(sum(isnull(ol.sum_bal,0)),0), @qty_sum=@qty_sum-isnull(sum(isnull(ol.qty_sum,0)),0) from t_oper_list ol, t_operations o where o.partner2plan_id=@plan2partner and ol.head_id=o.id and ol.acc_id=@acc_865 and (o.op_date=@start_date) and ol.deb_or_cred=-1 and exists(select 1 from t_oper_list ol2, t_oper_subconto os, tp_pif_queries d where ol2.head_id=o.id and ol2.acc_id = @acc_7642 and ol2.deb_or_cred=1 and os.id=ol2.id and os.subconto_type_id=@subc_type_id and os.item_id=d.id and isnull(d.type_queries,0)=4) */ select @qty_sum=.PAYS_QTY_CALC(@qty_sum,@fond_id) insert into #report(row_code, row_name, row_sum, row_qty) select 'PAYS_EXCHANGE', 'Погашение инвестиционных паев по обмену', @sum_bal, @qty_sum --------------------------------------------------------- select @sum_bal=0, @qty_sum=0 --------------------------------------------------------- select @sum_bal=isnull(sum(isnull(ol.sum_bal,0)),0), @qty_sum=isnull(sum(isnull(ol.qty_sum,0)),0) from t_oper_list ol, t_operations o -- alex 30/11/05 , tp_pif_queries d -- end alex 30/11/05 where o.partner2plan_id=@plan2partner and ol.head_id=o.id and ol.acc_id in (@acc_861,@acc_865) and (o.op_date=@start_date) and ol.deb_or_cred=-1 -- alex 30/11/05 and d.id = o.item_id -- в sdepo проводка под заявкой and isnull(d.type_queries,0)=3 and exists(select 1 from t_oper_list ol2 where ol2.head_id=o.id and ol2.acc_id = @acc_7641 and ol2.deb_or_cred=1) /* -- в sdepo счета нет привязки заявки на размещение к платежу and exists(select 1 from t_oper_list ol2, t_oper_subconto os, tp_pif_queries d, t_paydocs where ol2.head_id=o.id and ol2.acc_id = @acc_7641 and ol2.deb_or_cred=1 and os.id=ol2.id and os.item_id=t_paydocs.id and t_paydocs.pif_pay_id = d.id and isnull(d.type_queries,0)=3) */ -- end alex 30/11/05 select @qty_sum=.PAYS_QTY_CALC(@qty_sum,@fond_id) insert into #report(row_code, row_name, row_sum, row_qty) select 'PAYS_EXCHANGE_OUT', 'Выдача инвестиционных паев по обмену', @sum_bal, @qty_sum --------------------------------------------------------- select @sum_bal=0, @qty_sum=0 --------------------------------------------------------- insert into #report(row_code, row_name, row_sum, row_qty) select 'PAYMENT_PROFIT_MANAGEMENT_ZPIF', 'Выплата дохода от ДУ ЗПИФ', @sum_bal, @qty_sum --------------------------------------------------------- select @sum_bal=0, @qty_sum=0 --------------------------------------------------------- select @subc_type_id=.SUBCTYPE_FROM_CODE('paydocs') select @sum_bal=isnull(sum(isnull(ol.sum_bal,0)),0), @qty_sum=isnull(sum(isnull(ol.qty_sum,0)),0) from t_oper_list ol, t_operations o where o.partner2plan_id=@plan2partner and ol.head_id=o.id and ol.acc_id in (@acc_861,@acc_865) and (o.op_date=@start_date) and ol.deb_or_cred=-1 and exists(select 1 from t_oper_list ol2, t_oper_subconto os, tp_pif_queries d, t_paydocs where ol2.head_id=o.id and ol2.acc_id = @acc_7641 and ol2.deb_or_cred=1 and os.id=ol2.id and os.subconto_type_id=@subc_type_id and os.item_id=t_paydocs.id and t_paydocs.pif_pay_id = d.id and isnull(d.type_queries,0)=3) select @sum_bal=@sum_bal-isnull(sum(isnull(ol.sum_bal,0)),0), @qty_sum=@qty_sum-isnull(sum(isnull(ol.qty_sum,0)),0) from t_oper_list ol, t_operations o where o.partner2plan_id=@plan2partner and ol.head_id=o.id and ol.acc_id=@acc_865 and (o.op_date=@start_date) and ol.deb_or_cred=-1 and exists(select 1 from t_oper_list ol2, t_oper_subconto os, tp_pif_queries d, t_paydocs where ol2.head_id=o.id and ol2.acc_id = @acc_7641 and ol2.deb_or_cred=1 and os.id=ol2.id and os.subconto_type_id=@subc_type_id and os.item_id=t_paydocs.id and t_paydocs.pif_pay_id = d.id and isnull(d.type_queries,0)=3) select @qty_sum=.PAYS_QTY_CALC(@qty_sum,@fond_id) insert into #report(row_code, row_name, row_sum, row_qty) select 'PAYS_EXCHANGE_OUT', 'Выдача инвестиционных паев по обмену', @sum_bal, @qty_sum --------------------------------------------------------- select @sum_bal=0, @qty_sum=0 ------------------------------------------------------- select @sum_bal=isnull(sum(isnull(ol1.sum_bal,0)),0), @qty_sum=isnull(sum(isnull(ol1.qty_sum,0)),0) from t_oper_list ol1, t_oper_list ol2 where ol1.partner2plan_id = @plan2partner and ol2.partner2plan_id = @plan2partner and ol1.op_date >= @start_date and ol2.op_date >= @start_date and ol1.op_date < dateadd(day, 1, @srez_date) and ol2.op_date < dateadd(day, 1, @srez_date) and ol1.acc_id=@acc_861 and ol1.deb_or_cred=1 and ol2.acc_id=@acc_861 and ol2.deb_or_cred=-1 and ol1.head_id=ol2.head_id and ol1.id!=ol2.id group by ol1.acc_id insert into #report(row_code, row_name, row_sum,row_qty) select 'PAYS_MOVES_SUM', 'Оборот по передаче паев', isnull(@sum_bal,0),isnull((.PAYS_QTY_CALC(@qty_sum,@fond_id)),0) --------------------------------------------------------- delete t_items from tp_pif_srez_add_info, t_types where t_items.id = tp_pif_srez_add_info.id and tp_pif_srez_add_info.srez_id = @id and t_types.id=t_items.type_id and upper(t_types.type_code)='PIF_SREZ_ADD_INFO' delete tp_pif_srez_add_info where tp_pif_srez_add_info.srez_id = @id and not exists(select 1 from t_items where id=tp_pif_srez_add_info.id) declare @row_code9_1 varchar(50), @row_name9_1 varchar(255), @row_sum9_1 money, @row_qty9_1 decimal(18,8) declare info_cur cursor for select row_code,row_name,row_sum,row_qty from #report open info_cur fetch info_cur into @row_code9_1,@row_name9_1,@row_sum9_1,@row_qty9_1 while .CURSOR_STATE=0 begin .TYPE_INIT('PIF_SREZ_ADD_INFO',9) .TYPE_ASSIGN(srez_id,@id,9) .TYPE_INSERT('PIF_SREZ_ADD_INFO','CRT',9) fetch info_cur into @row_code9_1,@row_name9_1,@row_sum9_1,@row_qty9_1 end close info_cur .DEALLOCATE info_cur -- срез с нач.остатками ------------------------------------------------------------------------------------- declare @start_id numeric if @srez_date_b is not null begin select @start_id=(select max(s.id) from tp_pif_srez s where .ITEMS_EXISTS(s.id) and s.srez_date>=@srez_date_b and s.srez_date<=@srez_date and s.fond_id=@fond_id and .GET_CLASS_VALUE_CODE_FOR_ITEM(s.id,'PIF_SREZ_TYPE','DEFAULT')='START') if @start_id is not null update tp_pif_srez_add_info set row_sum=isnull(q.row_sum,0)+isnull(p.row_sum,0), row_qty=isnull(q.row_qty,0)+isnull(p.row_qty,0) from tp_pif_srez_add_info q, tp_pif_srez_add_info p where q.srez_id=@id and p.srez_id=@start_id and q.row_code=p.row_code and .ITEMS_EXISTS(q.id) and .ITEMS_EXISTS(p.id) and q.row_code in ('STOCK_SALE_PROCEEDS', 'STOCK_SALE_EXPENSES', 'CTRL_EXPENSES', 'PAYS_EXCHANGE_OUT', 'PAYS_EXCHANGE') end -------------------------------------------------------------------------------------------------------- if @startsrez_id is null update tp_pif_srez_add_info set row_sum=0, row_qty=0 where srez_id=@id commit tran drop table #report .TRANSACTION_RESTORE $ENDTEXT(14364584) $ENDACTION $ACTION(PIF_SREZ_BALANCE_CALCULATE) name=Пересчет остатков по счетам class=9 form=null target_state=null procedure=ap_60110000000001853 patterns=GENERIC_MOVE user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364584) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) declare @begin_date datetime .GET_PROPS delete t_items from tp_pif_srez_balance where t_items.id = tp_pif_srez_balance.id and tp_pif_srez_balance.srez_id = @id delete tp_pif_srez_balance where tp_pif_srez_balance.srez_id = @id .TRANSACTION_SAVE if @srez_date_b is null select @begin_date = @srez_date else select @begin_date = dateadd(day, 1, @srez_date_b) declare @plan_id numeric select @plan_id=.ARG_PLAN('PIF_ACCOUNT') .TOTALS_QUERY(@fond_id,@plan_id,@begin_date,@srez_date,ALL,N,L) --.TOTALS_QUERY_SUB(@fond_id,'PIF_ACCOUNT',@begin_date,@srez_date,ALL,N,N,N,N,N,N,L,N,Y,N,N,D,P) /* Insert Balance */ declare @cur_acc_id numeric declare @cur_saldo_deb money declare @cur_saldo_cred money declare @cur_obor_deb money declare @cur_obor_cred money declare bal_cur cursor for select acc_id, saldo_de, saldo_ce, obor_d, obor_c from #tmp_osv --from #tmp_oss for read only .TYPE_INIT('pif_srez_balance', 3) open bal_cur fetch bal_cur into @cur_acc_id, @cur_saldo_deb, @cur_saldo_cred, @cur_obor_deb, @cur_obor_cred while (@@sqlstatus=0) begin .TYPE_ASSIGN(srez_id,@id,3) .TYPE_ASSIGN(acc_id,@cur_acc_id,3) .TYPE_ASSIGN(saldo_deb, @cur_saldo_deb, 3) .TYPE_ASSIGN(saldo_cred, @cur_saldo_cred, 3) /* OBOR */ if @srez_date_b is null begin select @cur_obor_deb = 0 select @cur_obor_cred = 0 end /* End OBOR */ .TYPE_ASSIGN(obor_deb, @cur_obor_deb, 3) .TYPE_ASSIGN(obor_cred, @cur_obor_cred, 3) .TYPE_INSERT('pif_srez_balance','CRT',3) fetch bal_cur into @cur_acc_id, @cur_saldo_deb, @cur_saldo_cred, @cur_obor_deb, @cur_obor_cred end close bal_cur deallocate cursor bal_cur /* -- для .TOTALS_QUERY_SUB drop table #tmp_oss drop table #tmp_oss_a drop table #tmp_oss_t */ -- для .TOTALS_QUERY drop table #tmp_osv drop table #tmp_osv_a drop table #tmp_osv_t .TRANSACTION_RESTORE end $ENDTEXT(14364584) $ENDACTION $ACTION(PIF_SREZ_CALCULATE) name=Пересчет среза class=9 form=null target_state=CRT procedure=ap_50630000000028968 patterns=GENERIC_MOVE user_define=0 isvisible=1 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364584) 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 select @action_id = %ACTION_ID% select @id = convert(numeric, @sid) .CHECK_USER /*.CHECK_UPDATE*/ .GET_PROPS .TRANSACTION_SAVE create table #report( stock_id numeric null, saldo_qty money null, saldo_bal money null ) create table #oper_list( oper_list_id numeric null, acc_id numeric null, deb_or_cred int null, sum_qty money null, sum_bal money null ) create table #partners( acc_id numeric null, partner_id numeric null, saldo_deb money null, saldo_cred money null, foundation_id numeric null) /*------- Расчет портфеля ----------*/ declare @cur_plan numeric declare @cur_partner2plan numeric declare @acc_06 numeric declare @acc_58 numeric declare @acc_5810 numeric declare @acc_5811 numeric declare @acc_96_1_1 numeric declare @acc_891_id numeric declare @acc_892_id numeric declare @acc_893_id numeric declare @cur_period_id numeric declare @cur_period_date datetime declare @cur_subacc_subconto numeric declare @cur_actsubacc_subconto numeric declare @cur_stock_subconto numeric declare @cur_partners_subconto numeric declare @cur_paydocs_subconto numeric declare @cur_pifdocs_subconto numeric declare @scha_2005_d datetime select @scha_2005_d=convert(datetime,(.GET_CONST('SD_SCHA_2005')),3) select @cur_plan = .ARG_PLAN('PIF_ACCOUNT') select @acc_06 = .SD_ACCID_FROM_EFFNO(@cur_plan,'06.1') select @acc_58 = .SD_ACCID_FROM_EFFNO(@cur_plan,'58.1') select @acc_96_1_1 = .SD_ACCID_FROM_EFFNO(@cur_plan,'96.1') select @acc_891_id = .SD_ACCID_FROM_EFFNO(@cur_plan,'89.1') select @acc_892_id = .SD_ACCID_FROM_EFFNO(@cur_plan,'89.2') select @acc_893_id = .SD_ACCID_FROM_EFFNO(@cur_plan,'89.3') if @scha_2005_d <= @srez_date begin select @acc_5810 = .SD_ACCID_FROM_EFFNO(@cur_plan,'58.10') select @acc_5811 = .SD_ACCID_FROM_EFFNO(@cur_plan,'58.11') end select @cur_partner2plan = ( select t_plans2partner.id from t_plans2partner where t_plans2partner.plan_id=@cur_plan and t_plans2partner.partner_id=@fond_id and .ITEMS_EXISTS(t_plans2partner.id)) if @cur_partner2plan is null .EXIT_MESSAGE('Для заданного фонда не найден план счетов PIF_ACCOUNT') select @cur_stock_subconto = .SUBCTYPE_FROM_CODE('stock_emis') select @cur_partners_subconto = .SUBCTYPE_FROM_CODE('partners') select @cur_paydocs_subconto = .SUBCTYPE_FROM_CODE('paydocs') select @cur_pifdocs_subconto = .SUBCTYPE_FROM_CODE('pifdocs') select @cur_period_id = (select id from t_periods where partner2plan_id = @cur_partner2plan and period_date = (select max(period_date) from t_periods where partner2plan_id=@cur_partner2plan and period_date < @srez_date)) select @cur_period_date = (select period_date from t_periods where id = @cur_period_id) /*------- Расчет портфеля ----------*/ truncate table #oper_list truncate table #report if @cur_period_date is null begin select @cur_period_id = null select @cur_period_date=convert(datetime, '1/1/1800', 103) end else begin /* Closed Period */ insert into #oper_list( oper_list_id, sum_qty, sum_bal) select t_account_history.id, t_account_history.saldo_qty * t_account_history.deb_or_cred, t_account_history.saldo * t_account_history.deb_or_cred from t_account_history where t_account_history.period_id = @cur_period_id and t_account_history.acc_id in (@acc_06, @acc_58, @acc_5810, @acc_5811) --(@acc_06, @acc_58) insert into #report(stock_id, saldo_qty, saldo_bal) select subc1.item_id, sum(#oper_list.sum_qty), sum(#oper_list.sum_bal) from #oper_list, t_acchistory_subconto subc1 where #oper_list.oper_list_id = subc1.id and subc1.subconto_type_id = @cur_stock_subconto group by subc1.item_id truncate table #oper_list /* End Closed Period */ end insert into #oper_list( oper_list_id, sum_qty, sum_bal) select t_oper_list.id, t_oper_list.qty_sum * t_oper_list.deb_or_cred, t_oper_list.sum_bal * t_oper_list.deb_or_cred from t_oper_list where t_oper_list.partner2plan_id = @cur_partner2plan and t_oper_list.op_date >= @cur_period_date and t_oper_list.op_date < dateadd(day, 1, @srez_date) and t_oper_list.acc_id in (@acc_06, @acc_58, @acc_5810, @acc_5811) --(@acc_06, @acc_58) insert into #report(stock_id, saldo_qty, saldo_bal) select subc1.item_id, sum(#oper_list.sum_qty), sum(#oper_list.sum_bal) from #oper_list, t_oper_subconto subc1 where #oper_list.oper_list_id = subc1.id and subc1.subconto_type_id = @cur_stock_subconto group by subc1.item_id /*------- Конец расчета портфеля ----------*/ /*------- Расчет деб-кредиторов ----------*/ truncate table #oper_list truncate table #partners if @cur_period_id is not null begin /* Closed Period */ insert into #oper_list( oper_list_id, acc_id, deb_or_cred, sum_bal) select t_account_history.id, t_account_history.acc_id, t_account_history.deb_or_cred, t_account_history.saldo from t_account_history, t_accounts where t_account_history.period_id = @cur_period_id and t_account_history.acc_id = t_accounts.id and t_accounts.acc_num_eff_rep LIKE '.76.%' and not (t_accounts.acc_num_eff_rep LIKE '.76.4.1.%') and not (t_accounts.acc_num_eff_rep LIKE '.76.4.2.%') -- and not (t_accounts.acc_num_eff_rep LIKE '.76.4.%') -- and t_accounts.acc_num_eff_rep LIKE '.68.%' insert into #partners( acc_id, partner_id, saldo_deb, saldo_cred) select #oper_list.acc_id, subc1.item_id, sum(#oper_list.sum_bal), 0 from #oper_list, t_acchistory_subconto subc1 where #oper_list.oper_list_id = subc1.id and subc1.subconto_type_id = @cur_partners_subconto and #oper_list.deb_or_cred = 1 group by #oper_list.acc_id, subc1.item_id insert into #partners( acc_id, partner_id, saldo_deb, saldo_cred) select #oper_list.acc_id, subc1.item_id, 0, sum(#oper_list.sum_bal) from #oper_list, t_acchistory_subconto subc1 where #oper_list.oper_list_id = subc1.id and subc1.subconto_type_id = @cur_partners_subconto and #oper_list.deb_or_cred = -1 group by #oper_list.acc_id, subc1.item_id truncate table #oper_list /* End Closed Period */ end insert into #oper_list( oper_list_id, acc_id, deb_or_cred, sum_bal) select t_oper_list.id, t_oper_list.acc_id, t_oper_list.deb_or_cred, t_oper_list.sum_bal from t_oper_list, t_accounts where t_oper_list.partner2plan_id = @cur_partner2plan and t_oper_list.op_date >= @cur_period_date and t_oper_list.op_date < dateadd(day, 1, @srez_date) and t_oper_list.acc_id = t_accounts.id and t_accounts.acc_num_eff_rep LIKE '.76.%' and not (t_accounts.acc_num_eff_rep LIKE '.76.4.1.%') and not (t_accounts.acc_num_eff_rep LIKE '.76.4.2.%') -- and not (t_accounts.acc_num_eff_rep LIKE '.76.4.%') -- and t_accounts.acc_num_eff_rep LIKE '.68.%' insert into #partners( acc_id, partner_id, saldo_deb, saldo_cred) select #oper_list.acc_id, subc1.item_id, sum(#oper_list.sum_bal), 0 from #oper_list, t_oper_subconto subc1 where #oper_list.oper_list_id = subc1.id and subc1.subconto_type_id = @cur_partners_subconto and #oper_list.deb_or_cred = 1 group by #oper_list.acc_id, subc1.item_id insert into #partners( acc_id, partner_id, saldo_deb, saldo_cred) select #oper_list.acc_id, subc1.item_id, 0, sum(#oper_list.sum_bal) from #oper_list, t_oper_subconto subc1 where #oper_list.oper_list_id = subc1.id and subc1.subconto_type_id = @cur_partners_subconto and #oper_list.deb_or_cred = -1 group by #oper_list.acc_id, subc1.item_id /* 76.4.1 - Расчеты по размещению */ truncate table #oper_list if @cur_period_id is not null begin /* Closed Period */ insert into #oper_list( oper_list_id, acc_id, deb_or_cred, sum_bal) select t_account_history.id, t_account_history.acc_id, t_account_history.deb_or_cred, t_account_history.saldo from t_account_history, t_accounts where t_account_history.period_id = @cur_period_id and t_account_history.acc_id = t_accounts.id and t_accounts.acc_num_eff_rep LIKE '.76.4.1.%' insert into #partners( acc_id, partner_id, saldo_deb, saldo_cred, foundation_id) select #oper_list.acc_id, subc1.item_id, sum(#oper_list.sum_bal), 0, subc2.item_id from #oper_list, t_acchistory_subconto subc1, t_acchistory_subconto subc2 where #oper_list.oper_list_id = subc1.id and subc1.subconto_type_id = @cur_partners_subconto and #oper_list.oper_list_id = subc2.id and subc2.subconto_type_id = @cur_paydocs_subconto and #oper_list.deb_or_cred = 1 group by #oper_list.acc_id, subc1.item_id, subc2.item_id insert into #partners( acc_id, partner_id, saldo_deb, saldo_cred, foundation_id) select #oper_list.acc_id, subc1.item_id, 0, sum(#oper_list.sum_bal), subc2.item_id from #oper_list, t_acchistory_subconto subc1, t_acchistory_subconto subc2 where #oper_list.oper_list_id = subc1.id and subc1.subconto_type_id = @cur_partners_subconto and #oper_list.oper_list_id = subc2.id and subc2.subconto_type_id = @cur_paydocs_subconto and #oper_list.deb_or_cred = -1 group by #oper_list.acc_id, subc1.item_id, subc2.item_id truncate table #oper_list /* End Closed Period */ end insert into #oper_list( oper_list_id, acc_id, deb_or_cred, sum_bal) select t_oper_list.id, t_oper_list.acc_id, t_oper_list.deb_or_cred, t_oper_list.sum_bal from t_oper_list, t_accounts where t_oper_list.partner2plan_id = @cur_partner2plan and t_oper_list.op_date >= @cur_period_date and t_oper_list.op_date < dateadd(day, 1, @srez_date) and t_oper_list.acc_id = t_accounts.id and t_accounts.acc_num_eff_rep LIKE '.76.4.1.%' insert into #partners( acc_id, partner_id, saldo_deb, saldo_cred, foundation_id) select #oper_list.acc_id, subc1.item_id, sum(#oper_list.sum_bal), 0, subc2.item_id from #oper_list, t_oper_subconto subc1, t_oper_subconto subc2 where #oper_list.oper_list_id = subc1.id and subc1.subconto_type_id = @cur_partners_subconto and #oper_list.oper_list_id = subc2.id and subc2.subconto_type_id = @cur_paydocs_subconto and #oper_list.deb_or_cred = 1 group by #oper_list.acc_id, subc1.item_id, subc2.item_id insert into #partners( acc_id, partner_id, saldo_deb, saldo_cred, foundation_id) select #oper_list.acc_id, subc1.item_id, 0, sum(#oper_list.sum_bal), subc2.item_id from #oper_list, t_oper_subconto subc1, t_oper_subconto subc2 where #oper_list.oper_list_id = subc1.id and subc1.subconto_type_id = @cur_partners_subconto and #oper_list.oper_list_id = subc2.id and subc2.subconto_type_id = @cur_paydocs_subconto and #oper_list.deb_or_cred = -1 group by #oper_list.acc_id, subc1.item_id, subc2.item_id /* 76.4.2 - Расчеты по выкупу */ truncate table #oper_list if @cur_period_id is not null begin /* Closed Period */ insert into #oper_list( oper_list_id, acc_id, deb_or_cred, sum_bal) select t_account_history.id, t_account_history.acc_id, t_account_history.deb_or_cred, t_account_history.saldo from t_account_history, t_accounts where t_account_history.period_id = @cur_period_id and t_account_history.acc_id = t_accounts.id and t_accounts.acc_num_eff_rep LIKE '.76.4.2.%' insert into #partners( acc_id, partner_id, saldo_deb, saldo_cred, foundation_id) select #oper_list.acc_id, subc1.item_id, sum(#oper_list.sum_bal), 0, subc2.item_id from #oper_list, t_acchistory_subconto subc1, t_acchistory_subconto subc2 where #oper_list.oper_list_id = subc1.id and subc1.subconto_type_id = @cur_partners_subconto and #oper_list.oper_list_id = subc2.id and subc2.subconto_type_id = @cur_pifdocs_subconto and #oper_list.deb_or_cred = 1 group by #oper_list.acc_id, subc1.item_id, subc2.item_id insert into #partners( acc_id, partner_id, saldo_deb, saldo_cred, foundation_id) select #oper_list.acc_id, subc1.item_id, 0, sum(#oper_list.sum_bal), subc2.item_id from #oper_list, t_acchistory_subconto subc1, t_acchistory_subconto subc2 where #oper_list.oper_list_id = subc1.id and subc1.subconto_type_id = @cur_partners_subconto and #oper_list.oper_list_id = subc2.id and subc2.subconto_type_id = @cur_pifdocs_subconto and #oper_list.deb_or_cred = -1 group by #oper_list.acc_id, subc1.item_id, subc2.item_id truncate table #oper_list /* End Closed Period */ end insert into #oper_list( oper_list_id, acc_id, deb_or_cred, sum_bal) select t_oper_list.id, t_oper_list.acc_id, t_oper_list.deb_or_cred, t_oper_list.sum_bal from t_oper_list, t_accounts where t_oper_list.partner2plan_id = @cur_partner2plan and t_oper_list.op_date >= @cur_period_date and t_oper_list.op_date < dateadd(day, 1, @srez_date) and t_oper_list.acc_id = t_accounts.id and t_accounts.acc_num_eff_rep LIKE '.76.4.2.%' insert into #partners( acc_id, partner_id, saldo_deb, saldo_cred, foundation_id) select #oper_list.acc_id, subc1.item_id, sum(#oper_list.sum_bal), 0, subc2.item_id from #oper_list, t_oper_subconto subc1, t_oper_subconto subc2 where #oper_list.oper_list_id = subc1.id and subc1.subconto_type_id = @cur_partners_subconto and #oper_list.oper_list_id = subc2.id and subc2.subconto_type_id = @cur_pifdocs_subconto and #oper_list.deb_or_cred = 1 group by #oper_list.acc_id, subc1.item_id, subc2.item_id insert into #partners( acc_id, partner_id, saldo_deb, saldo_cred, foundation_id) select #oper_list.acc_id, subc1.item_id, 0, sum(#oper_list.sum_bal), subc2.item_id from #oper_list, t_oper_subconto subc1, t_oper_subconto subc2 where #oper_list.oper_list_id = subc1.id and subc1.subconto_type_id = @cur_partners_subconto and #oper_list.oper_list_id = subc2.id and subc2.subconto_type_id = @cur_pifdocs_subconto and #oper_list.deb_or_cred = -1 group by #oper_list.acc_id, subc1.item_id, subc2.item_id /*------- Конец расчета деб-кредиторов ----------*/ /*------- Расчет паев ----------*/ declare @bal_stock_qty money select @bal_stock_qty = 0 if @cur_period_id is not null /* Closed Period */ select @bal_stock_qty = isnull( (select sum(t_account_history.saldo_qty * t_account_history.deb_or_cred * -1) from t_account_history where t_account_history.period_id = @cur_period_id and t_account_history.acc_id = @acc_96_1_1), 0) /* End Closed Period */ select @bal_stock_qty = @bal_stock_qty + isnull( (select sum(t_oper_list.qty_sum * t_oper_list.deb_or_cred * -1) from t_oper_list where t_oper_list.partner2plan_id = @cur_partner2plan and t_oper_list.op_date >= @cur_period_date and t_oper_list.op_date < dateadd(day, 1, @srez_date) and t_oper_list.acc_id = @acc_96_1_1), 0) select @stock_qty=.PAYS_QTY_CALC(@bal_stock_qty,@fond_id) /*------- Конец расчета паев ----------*/ begin tran delete t_items from tp_pif_srez_portfolio, t_types where t_items.id = tp_pif_srez_portfolio.id and tp_pif_srez_portfolio.srez_id = @id and t_items.type_id=t_types.id and upper(t_types.type_code)='PIF_SREZ_PORTFOLIO' delete tp_pif_srez_portfolio where tp_pif_srez_portfolio.srez_id = @id and not exists(select 1 from t_items where id=tp_pif_srez_portfolio.id) declare srez_cur cursor for select stock_id, sum(saldo_qty), sum(saldo_bal) from #report group by stock_id for read only declare @cur_stock_id numeric declare @cur_stock_qty money declare @cur_stock_bal money declare @cur_stock_rate decimal(18, 8) declare @cur_coupon_rate decimal(18, 8) declare @cur_stock_rur decimal(18, 8) declare @cur_coupon_rur decimal(18, 8) declare @cur_is_rate smallint declare @rur_cur_id numeric declare @rate_cur_id numeric declare @cur_rate_place_id numeric declare @cur_rate_date datetime declare @rate_value decimal(18,8) declare @rate_date datetime declare @class_value_code varchar(255) declare @class_comment varchar(255) select @rur_cur_id=.CUR('RUR') select @cur_rate_place_id=rate_place_id from td_queries where td_queries.srezdoc_id=@id -- обновления по 42пс declare @cur_stock_sum money, @cur_coupon_sum money, @type_rate_check int, @sd42_date_str varchar(255) select @sd42_date_str=.GET_CONST('PIF_42') if @srez_date0 begin if @@trancount<>0 rollback tran return end select @cur_stock_bal=isnull(@cur_stock_sum,@cur_stock_bal) ------------------------------- .TYPE_ASSIGN(stock_sum, (round(@cur_stock_bal,2)), 2) /* end */ .TYPE_ASSIGN(coupon_sum, @cur_coupon_sum, 2) -- .TYPE_ASSIGN(rate_date, @cur_rate_date, 2) .TYPE_ASSIGN(is_rate, @cur_is_rate, 2) .TYPE_INSERT('pif_srez_portfolio','CRT',2) update tp_pif_srez_portfolio set acc_id=@acc_58 where id=@id2_1 fetch srez_cur into @cur_stock_id, @cur_stock_qty, @cur_stock_bal end close srez_cur deallocate cursor srez_cur /* Insert Balance */ declare @cur_acc_id numeric declare @cur_saldo_deb money declare @cur_saldo_cred money declare @cur_foundation_id numeric declare @cur_foundation_date datetime declare @cur_foundation_no varchar(100) /* Insert partners */ declare partners_cur cursor for select acc_id, partner_id, sum(saldo_deb), sum(saldo_cred), foundation_id from #partners group by acc_id, partner_id, foundation_id for read only declare @cur_partner_id numeric .TYPE_INIT('pif_srez_partners', 4) open partners_cur fetch partners_cur into @cur_acc_id, @cur_partner_id, @cur_saldo_deb, @cur_saldo_cred, @cur_foundation_id while (@@sqlstatus=0) begin if (@cur_saldo_deb <> @cur_saldo_cred) begin if @cur_saldo_deb > @cur_saldo_cred begin select @cur_saldo_deb = @cur_saldo_deb - @cur_saldo_cred select @cur_saldo_cred = 0 end else begin select @cur_saldo_cred = @cur_saldo_cred - @cur_saldo_deb select @cur_saldo_deb = 0 end .TYPE_ASSIGN(srez_id,@id,4) .TYPE_ASSIGN(acc_id,@cur_acc_id,4) .TYPE_ASSIGN(partner_id,@cur_partner_id,4) .TYPE_ASSIGN(saldo_deb, @cur_saldo_deb, 4) .TYPE_ASSIGN(saldo_cred, @cur_saldo_cred, 4) .TYPE_ASSIGN(foundation_id, @cur_foundation_id, 4) select @cur_foundation_date = null, @cur_foundation_no = null if @cur_foundation_id is not null begin select @cur_foundation_date = tp_pif_queries.agent_regs_date, @cur_foundation_no = tp_pif_queries.agent_regs_no from tp_pif_queries where tp_pif_queries.id = @cur_foundation_id if @cur_foundation_date is null select @cur_foundation_date = td_depo_docs.in_date, @cur_foundation_no = td_depo_docs.in_no from td_depo_docs where td_depo_docs.id = @cur_foundation_id if @cur_foundation_date is null begin select @cur_foundation_date = t_paydocs.doc_date, @cur_foundation_no = t_paydocs.doc_number from t_paydocs where t_paydocs.id = @cur_foundation_id end end .TYPE_ASSIGN(foundation_no, @cur_foundation_no, 4) .TYPE_ASSIGN(foundation_date, @cur_foundation_date, 4) .TYPE_INSERT('pif_srez_partners','CRT',4) end fetch partners_cur into @cur_acc_id, @cur_partner_id, @cur_saldo_deb, @cur_saldo_cred, @cur_foundation_id end close partners_cur deallocate cursor partners_cur /* End Insert partners */ select @activ_sum = 0 /* Stock */ select @activ_sum = @activ_sum + isnull( (select sum(tp_pif_srez_portfolio.stock_sum) from tp_pif_srez_portfolio where tp_pif_srez_portfolio.srez_id = @id and tp_pif_srez_portfolio.stock_sum > 0 and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio')),0) /* Debitors */ select @activ_sum = @activ_sum + isnull( (select sum(tp_pif_srez_balance.saldo_deb) from tp_pif_srez_balance where tp_pif_srez_balance.srez_id = @id and tp_pif_srez_balance.saldo_deb > 0 and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_partners')),0) /* Money */ select @activ_sum = @activ_sum + isnull( (select sum(saldo_deb) - sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and t_accounts.acc_num_eff_rep like '.51.%' and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance')),0) /* Buildings */ select @activ_sum = @activ_sum + isnull( (select sum(saldo_deb) - sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and t_accounts.acc_num_eff_rep like '.01.1.%' and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance')),0) /* Прочие активы */ select @activ_sum = @activ_sum + isnull( (select sum(saldo_deb) - sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and t_accounts.acc_num_eff_rep like '.58.3.%' and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance')),0) /* Depozit */ declare @acc_dep_id numeric select @acc_dep_id = .SD_ACCID_FROM_EFFNO(@cur_plan,'58.2') select @activ_sum = @activ_sum + isnull( (select sum(saldo_deb) - sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and t_accounts.id=@acc_dep_id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance')),0) /* Coupon */ select @activ_sum = @activ_sum + isnull( (select sum(tp_pif_srez_portfolio.coupon_sum) from tp_pif_srez_portfolio where tp_pif_srez_portfolio.srez_id = @id and tp_pif_srez_portfolio.stock_sum > 0 and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_portfolio.id,'pif_srez_portfolio')),0) select @scha_sum = @activ_sum /* Creditors */ select @scha_sum = @scha_sum - isnull( (select sum(tp_pif_srez_balance.saldo_cred) from tp_pif_srez_balance where tp_pif_srez_balance.srez_id = @id and tp_pif_srez_balance.saldo_cred > 0 and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_partners')),0) /* Резервы */ select @scha_sum = @scha_sum - isnull( (select sum(saldo_cred) - sum(saldo_deb) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and t_accounts.id in (@acc_891_id,@acc_892_id,@acc_893_id) and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance')),0) /* Расчеты с бюджетом 68 счет */ select @scha_sum = @scha_sum - isnull((select sum(saldo_cred) from tp_pif_srez_balance, t_accounts where srez_id = @id and tp_pif_srez_balance.acc_id = t_accounts.id and .ITEMS_EXISTS_BY_TYPE(tp_pif_srez_balance.id,'pif_srez_balance') and t_accounts.acc_num_eff_rep like '.68.%'), 0) -- цена пая declare @d_stock_price double precision if @stock_qty <> 0 select @d_stock_price = convert(double precision,@scha_sum) / convert(double precision,@stock_qty) else select @d_stock_price = 0 .PIF_ROUND_MONEY(@fond_id,@d_stock_price,@d_stock_price) select @stock_price = convert(money,@d_stock_price) update tp_pif_srez set activ_sum = @activ_sum, scha_sum = @scha_sum, stock_qty = @stock_qty, stock_price = @stock_price where id = @id /*.EXEC_ACTION(@sid,'PIF_SREZ','PIF_SREZ_ACCOUNTS_CALCULATE')*/ declare @is_no varchar(50), @rep_sid varchar(30) .TYPE_INIT('REPORT_FOR_INVESTMENT_ACT_PIF',6) .TYPE_ASSIGN(depo_doc_type,2,6) .DEPO_GEN_NO(@is_no,@depo_doc_type6_1) .TYPE_ASSIGN(foundation_id,@id,6) .TYPE_ASSIGN(in_date,(.OPERDAY),6) .TYPE_ASSIGN(owner_id,@fond_id,6) .TYPE_ASSIGN(in_no,@is_no,6) .TYPE_ASSIGN(date_b,@srez_date,6) .TYPE_INSERT('REPORT_FOR_INVESTMENT_ACT_PIF','CRT',6) update t_items set item_remark='Срез для ПИФ от'+.DATE_TO_STR(@srez_date)+' , Описание: '+@remark where id=@id6_1 select @rep_sid=convert(varchar(30),@id6_1) .EXEC_ACTION(@rep_sid,'REPORT_FOR_INVESTMENT_ACT_PIF','INVESTMENT_ACT_PIF_RECALC') .UPDATE_STATE .ACTION_HISTORY commit tran drop table #report drop table #oper_list drop table #partners .TRANSACTION_RESTORE select @is_no=null .TYPE_INIT('SD_ASSET_ENUM',7) .TYPE_ASSIGN(depo_doc_type,2,7) .DEPO_GEN_NO(@is_no,@depo_doc_type7_1) .TYPE_ASSIGN(foundation_id,@id,7) .TYPE_ASSIGN(srezdoc_id,@id,7) .TYPE_ASSIGN(in_date,(.OPERDAY),7) .TYPE_ASSIGN(owner_id,@fond_id,7) .TYPE_ASSIGN(in_no,@is_no,7) .TYPE_ASSIGN(date_b,(getdate()),7) .TYPE_ASSIGN(doc_date,@srez_date,7) .TYPE_INSERT('SD_ASSET_ENUM','CRT',7) end $ENDTEXT(14364584) $ENDACTION $ACTION(SREZ_CRT) name=Отменить итог class=9 form=null target_state=CRT procedure=ap_60365000003004005 patterns=null user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364584) create procedure dbo.%PROC% @sid varchar(30) = null as .BEGIN('N') .CHECK_USER .CHECK_UPDATE .GET_PROPS begin tran declare @pay_price_id numeric select @pay_price_id=(select id from tp_pif_price_change t where t.fond_id=@fond_id and t.change_date=@srez_date and t.pif_srez_id=@id and .ITEMS_EXISTS(t.id)) if @pay_price_id is not null begin delete t_items where id=@pay_price_id delete tp_pif_price_change where id=@pay_price_id end .UPDATE_STATE .ACTION_HISTORY commit tran .END $ENDTEXT(14364584) $ENDACTION $ACTION(SREZ_END) name=Зафиксировать итог class=9 form=null target_state=END procedure=ap_60365000003004006 patterns=null user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364584) create procedure dbo.%PROC% @sid varchar(30) = null as .BEGIN('N') .CHECK_USER .CHECK_UPDATE .GET_PROPS declare @pay_price_id numeric begin tran if exists(select 1 from tp_pif_srez where id <> @id and srez_date=@srez_date and fond_id=@fond_id and .ITEM_TYPE_CODE(tp_pif_srez.id)='PIF_SREZ' and .ITEM_STATE_CODE(tp_pif_srez.id)='END') .EXIT_MESSAGE('Уже существует итоговый срез для фонда на указанную дату') select @pay_price_id=(select id from tp_pif_price_change t where t.fond_id=@fond_id and t.change_date=@srez_date and .ITEMS_EXISTS(t.id)) .TYPE_INIT('PAY_PRICE',1) .TYPE_ASSIGN(fond_id,@fond_id,1) .TYPE_ASSIGN(change_date,@srez_date,1) .TYPE_ASSIGN(stock_price,@stock_price,1) .TYPE_ASSIGN(scha_sum,@scha_sum,1) .TYPE_ASSIGN(pif_srez_id,@id,1) if @pay_price_id is null begin .TYPE_INSERT('PAY_PRICE','CRT',1) end else begin .TYPE_UPDATE(@pay_price_id,'PAY_PRICE',1) end .UPDATE_STATE .ACTION_HISTORY commit tran .END $ENDTEXT(14364584) $ENDACTION $ACTION(SREZ_TO_END) name=Отменить итог за год class=9 form=null target_state=END procedure=ap_60365000003004007 patterns=GENERIC_MOVE user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364584) 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 .UPDATE_STATE .ACTION_HISTORY /*-------Проводки ----------*/ commit tran $ENDTEXT(14364584) $ENDACTION $ACTION(SREZ_YEAR_END) name=Зафиксировать итог за год class=9 form=null target_state=END_YEAR procedure=ap_60365000003004008 patterns=null user_define=0 isvisible=0 istab=0 posx=0 posy=0 width=0 height=0 proc_text=$TEXT(14364584) create procedure dbo.%PROC% @sid varchar(30) = null as .BEGIN('N') .CHECK_USER .CHECK_UPDATE .GET_PROPS declare @pay_price_id numeric begin tran if exists(select 1 from tp_pif_srez where id <> @id and datepart(yy,srez_date) = datepart(yy,@srez_date) and fond_id = @fond_id and .ITEMS_EXISTS_BY_TYPE_STATE(tp_pif_srez.id,'PIF_SREZ','END_YEAR')) .EXIT_MESSAGE('Уже существует итоговый срез для фонда на указанную дату') .UPDATE_STATE .ACTION_HISTORY commit tran .END $ENDTEXT(14364584) $ENDACTION $STATE2ACTION(CRT.ACTION1) state=CRT action=ACTION1 $ENDSTATE2ACTION $STATE2ACTION(CRT.D_PIF_PARTNER2DEAL_REP) state=CRT action=D_PIF_PARTNER2DEAL_REP $ENDSTATE2ACTION $STATE2ACTION(CRT.D_PIF_PARTNERS_REPORT) state=CRT action=D_PIF_PARTNERS_REPORT $ENDSTATE2ACTION $STATE2ACTION(CRT.D_PIF_PORTFOLIO_BROK) state=CRT action=D_PIF_PORTFOLIO_BROK $ENDSTATE2ACTION $STATE2ACTION(CRT.D_PIF_PORTFOLIO_REPORT) state=CRT action=D_PIF_PORTFOLIO_REPORT $ENDSTATE2ACTION $STATE2ACTION(CRT.D_PIF_SREZ_EDIT) state=CRT action=D_PIF_SREZ_EDIT $ENDSTATE2ACTION $STATE2ACTION(CRT.PIF_SCHA_2004) state=CRT action=PIF_SCHA_2004 $ENDSTATE2ACTION $STATE2ACTION(CRT.PIF_SCHA_2005) state=CRT action=PIF_SCHA_2005 $ENDSTATE2ACTION $STATE2ACTION(CRT.PIF_SCHA_2006) state=CRT action=PIF_SCHA_2006 $ENDSTATE2ACTION $STATE2ACTION(CRT.PIF_SCHA_CH_2005) state=CRT action=PIF_SCHA_CH_2005 $ENDSTATE2ACTION $STATE2ACTION(CRT.PIF_SCHA_CH_2005_DET) state=CRT action=PIF_SCHA_CH_2005_DET $ENDSTATE2ACTION $STATE2ACTION(CRT.PIF_SCHA_CH_42) state=CRT action=PIF_SCHA_CH_42 $ENDSTATE2ACTION $STATE2ACTION(CRT.PIF_SREZ_CHANGE4PAY) state=CRT action=PIF_SREZ_CHANGE4PAY $ENDSTATE2ACTION $STATE2ACTION(CRT.PIF_SREZ_CHANGE_REPORT) state=CRT action=PIF_SREZ_CHANGE_REPORT $ENDSTATE2ACTION $STATE2ACTION(CRT.PIF_SREZ_CONFORM_REPORT) state=CRT action=PIF_SREZ_CONFORM_REPORT $ENDSTATE2ACTION $STATE2ACTION(CRT.PIF_SREZ_INVEST_LIST) state=CRT action=PIF_SREZ_INVEST_LIST $ENDSTATE2ACTION $STATE2ACTION(CRT.PIF_SREZ_INVEST_REPORT) state=CRT action=PIF_SREZ_INVEST_REPORT $ENDSTATE2ACTION $STATE2ACTION(CRT.PIF_SREZ_LIST) state=CRT action=PIF_SREZ_LIST $ENDSTATE2ACTION $STATE2ACTION(CRT.PIF_SREZ_LIST4QUERY) state=CRT action=PIF_SREZ_LIST4QUERY $ENDSTATE2ACTION $STATE2ACTION(CRT.PIF_SREZ_OPER_REPORT) state=CRT action=PIF_SREZ_OPER_REPORT $ENDSTATE2ACTION $STATE2ACTION(CRT.PIF_SREZ_OP_JOURNAL_DETAIL) state=CRT action=PIF_SREZ_OP_JOURNAL_DETAIL $ENDSTATE2ACTION $STATE2ACTION(CRT.PIF_SREZ_OP_JOURNAL_REPORT) state=CRT action=PIF_SREZ_OP_JOURNAL_REPORT $ENDSTATE2ACTION $STATE2ACTION(CRT.PIF_SREZ_SCHA_LIST) state=CRT action=PIF_SREZ_SCHA_LIST $ENDSTATE2ACTION $STATE2ACTION(CRT.PIF_SREZ_SCHA_REPORT) state=CRT action=PIF_SREZ_SCHA_REPORT $ENDSTATE2ACTION $STATE2ACTION(CRT.SREZ_END) state=CRT action=SREZ_END $ENDSTATE2ACTION $STATE2ACTION(END.ACTION1) state=END action=ACTION1 $ENDSTATE2ACTION $STATE2ACTION(END.D_PIF_PARTNER2DEAL_REP) state=END action=D_PIF_PARTNER2DEAL_REP $ENDSTATE2ACTION $STATE2ACTION(END.D_PIF_PARTNERS_REPORT) state=END action=D_PIF_PARTNERS_REPORT $ENDSTATE2ACTION $STATE2ACTION(END.D_PIF_PORTFOLIO_BROK) state=END action=D_PIF_PORTFOLIO_BROK $ENDSTATE2ACTION $STATE2ACTION(END.D_PIF_PORTFOLIO_REPORT) state=END action=D_PIF_PORTFOLIO_REPORT $ENDSTATE2ACTION $STATE2ACTION(END.D_PIF_SREZ_EDIT) state=END action=D_PIF_SREZ_EDIT $ENDSTATE2ACTION $STATE2ACTION(END.PIF_SCHA_2004) state=END action=PIF_SCHA_2004 $ENDSTATE2ACTION $STATE2ACTION(END.PIF_SCHA_2005) state=END action=PIF_SCHA_2005 $ENDSTATE2ACTION $STATE2ACTION(END.PIF_SCHA_2006) state=END action=PIF_SCHA_2006 $ENDSTATE2ACTION $STATE2ACTION(END.PIF_SCHA_CH_2005) state=END action=PIF_SCHA_CH_2005 $ENDSTATE2ACTION $STATE2ACTION(END.PIF_SREZ_CHANGE4PAY) state=END action=PIF_SREZ_CHANGE4PAY $ENDSTATE2ACTION $STATE2ACTION(END.PIF_SREZ_CHANGE_REPORT) state=END action=PIF_SREZ_CHANGE_REPORT $ENDSTATE2ACTION $STATE2ACTION(END.PIF_SREZ_CONFORM_REPORT) state=END action=PIF_SREZ_CONFORM_REPORT $ENDSTATE2ACTION $STATE2ACTION(END.PIF_SREZ_INVEST_LIST) state=END action=PIF_SREZ_INVEST_LIST $ENDSTATE2ACTION $STATE2ACTION(END.PIF_SREZ_INVEST_REPORT) state=END action=PIF_SREZ_INVEST_REPORT $ENDSTATE2ACTION $STATE2ACTION(END.PIF_SREZ_LIST) state=END action=PIF_SREZ_LIST $ENDSTATE2ACTION $STATE2ACTION(END.PIF_SREZ_LIST4QUERY) state=END action=PIF_SREZ_LIST4QUERY $ENDSTATE2ACTION $STATE2ACTION(END.PIF_SREZ_OPER_REPORT) state=END action=PIF_SREZ_OPER_REPORT $ENDSTATE2ACTION $STATE2ACTION(END.PIF_SREZ_OP_JOURNAL_DETAIL) state=END action=PIF_SREZ_OP_JOURNAL_DETAIL $ENDSTATE2ACTION $STATE2ACTION(END.PIF_SREZ_OP_JOURNAL_REPORT) state=END action=PIF_SREZ_OP_JOURNAL_REPORT $ENDSTATE2ACTION $STATE2ACTION(END.PIF_SREZ_SCHA_REPORT) state=END action=PIF_SREZ_SCHA_REPORT $ENDSTATE2ACTION $STATE2ACTION(END.SREZ_CRT) state=END action=SREZ_CRT $ENDSTATE2ACTION $STATE2ACTION(END.SREZ_YEAR_END) state=END action=SREZ_YEAR_END $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.ACTION1) state=END_YEAR action=ACTION1 $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.D_PIF_PARTNER2DEAL_REP) state=END_YEAR action=D_PIF_PARTNER2DEAL_REP $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.D_PIF_PARTNERS_REPORT) state=END_YEAR action=D_PIF_PARTNERS_REPORT $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.D_PIF_PORTFOLIO_BROK) state=END_YEAR action=D_PIF_PORTFOLIO_BROK $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.D_PIF_PORTFOLIO_REPORT) state=END_YEAR action=D_PIF_PORTFOLIO_REPORT $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.D_PIF_SREZ_EDIT) state=END_YEAR action=D_PIF_SREZ_EDIT $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.PIF_SCHA_2004) state=END_YEAR action=PIF_SCHA_2004 $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.PIF_SCHA_2005) state=END_YEAR action=PIF_SCHA_2005 $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.PIF_SCHA_2006) state=END_YEAR action=PIF_SCHA_2006 $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.PIF_SCHA_CH_2005) state=END_YEAR action=PIF_SCHA_CH_2005 $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.PIF_SREZ_CHANGE4PAY) state=END_YEAR action=PIF_SREZ_CHANGE4PAY $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.PIF_SREZ_CHANGE_REPORT) state=END_YEAR action=PIF_SREZ_CHANGE_REPORT $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.PIF_SREZ_CONFORM_REPORT) state=END_YEAR action=PIF_SREZ_CONFORM_REPORT $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.PIF_SREZ_INVEST_LIST) state=END_YEAR action=PIF_SREZ_INVEST_LIST $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.PIF_SREZ_INVEST_REPORT) state=END_YEAR action=PIF_SREZ_INVEST_REPORT $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.PIF_SREZ_LIST) state=END_YEAR action=PIF_SREZ_LIST $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.PIF_SREZ_LIST4QUERY) state=END_YEAR action=PIF_SREZ_LIST4QUERY $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.PIF_SREZ_OPER_REPORT) state=END_YEAR action=PIF_SREZ_OPER_REPORT $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.PIF_SREZ_OP_JOURNAL_DETAIL) state=END_YEAR action=PIF_SREZ_OP_JOURNAL_DETAIL $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.PIF_SREZ_OP_JOURNAL_REPORT) state=END_YEAR action=PIF_SREZ_OP_JOURNAL_REPORT $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.PIF_SREZ_SCHA_LIST) state=END_YEAR action=PIF_SREZ_SCHA_LIST $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.PIF_SREZ_SCHA_REPORT) state=END_YEAR action=PIF_SREZ_SCHA_REPORT $ENDSTATE2ACTION $STATE2ACTION(END_YEAR.SREZ_TO_END) state=END_YEAR action=SREZ_TO_END $ENDSTATE2ACTION $STATE2ACTION(NEW.PIF_SREZ_ACCOUNTS_CALCULATE) state=NEW action=PIF_SREZ_ACCOUNTS_CALCULATE $ENDSTATE2ACTION $STATE2ACTION(NEW.PIF_SREZ_CALCULATE) state=NEW action=PIF_SREZ_CALCULATE $ENDSTATE2ACTION $STATE2PROP(CRT.ACTIV_SUM) state=CRT prop=ACTIV_SUM enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.SCHA_SUM) state=CRT prop=SCHA_SUM enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.STOCK_PRICE) state=CRT prop=STOCK_PRICE enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $STATE2PROP(CRT.STOCK_QTY) state=CRT prop=STOCK_QTY enable=1 mandatory=0 visible=1 $ENDSTATE2PROP $ENDDOC